hxl123 发表于 2020-7-24 13:23

网抑云评论爬虫

可爬取某一首歌下的所有评论,需要python3环境和selenium支持

from selenium import webdriver
import time

class yunspider(object):
    # 初始化方法
    def __init__(self,url):
      self.url=url
      # 打开浏览器
      self.driver=webdriver.Firefox()

    # 打开网站 提取数据 翻页
    def getcountent(self):
      # 打开网址
      self.driver.get(self.url)
      # 写js,让页面滚动条滑到底,先进入IFrame
      self.driver.switch_to.frame(0) #0代表第一个框
      js='window.scrollBy(0,8000)'
      self.driver.execute_script(js)

      # 翻页
      for page in range(99):
            selectors=self.driver.find_elements_by_xpath('//div[@class="cmmts j-flag"]/div')
            for selector in selectors:
                text=selector.find_element_by_xpath('.//div[@class="cnt f-brk"]').text
                #print(text)
                #调用存储数据的功能 两种方法
                #self.savedata(text)
                yunspider.savedata(text)
                print('正在爬取评论')

            # 找到“下一页”的元素 然后进行点击
            # find_element_by_partial_link_text 获取文本链接
            nextpage=self.driver.find_element_by_partial_link_text('下一页')
            # 点击下一页
            nextpage.click()
            time.sleep(1)

    # 保存数据
    @staticmethod
    def savedata(item):
      with open('yuncountent.txt','a',encoding='utf-8') as f:
            f.write(item+'\n')


if __name__=='__main__':
    url='https://music.163.com/#/song?id=1442031605' #李荣浩的《我爱你》,可修改成自己想要的歌曲
    yunspider=yunspider(url)
    yunspider.getcountent()

cj2001 发表于 2020-7-24 22:41

谢谢,支持一下

南岸 发表于 2020-7-24 16:08

好东西,到点了,可以开始抑郁了

不理不理左卫门 发表于 2020-7-24 17:07

最好晚上爬取,晚上”抑“的质量比较高{:1_918:}
页: [1]
查看完整版本: 网抑云评论爬虫