python用自动化爬取网易云评论1

这个之前用requests尝试过很复杂不如用selenium自动化简单:

其中有很多小细节

import re
import webbrowser
from selenium.webdriver import Chrome
# from selenium.common.exceptions import
import jieba  # 中文分词库
import wordcloud  # 制作词云图的库
import imageio  # 操作图像的库
import time

# 安装模块:
# pip install -i https://pypi.douban.com/simple/ 模块名

# 中文分词库的使用(分词)


# 1.创建一个浏览器对象:
driver = Chrome()

driver.get('https://music.163.com/#/song?id=569213220')
driver.implicitly_wait(10)  # 隐式等待  浏览器渲染页面需要耗时 智能化等待
driver.maximize_window()  # 最大化浏览器

# 网页嵌套技术: iframe
driver.switch_to.frame(0)  # switch_to切换的意思   进入索引为0 的网页
# 下拉页面 : js 代码  js是一门可以直接运行在浏览器中的语言
# documrnt.documentElement.xcrollHeight  获取页面的高度
js = 'document.documentElement.scrollTop  = document.documentElement.scrollHeight'  # 获取页面的最高
driver.execute_script(js)  # 滑倒最底部
# print(divs)
# print(len(divs))
# 解析
for click in range(10):
    divs = driver.find_elements_by_css_selector('.itm')
    for div in divs:
        cnt = div.find_element_by_css_selector('.cnt.f-brk').text  # 标签
        # print(cnt)
        cnt = cnt.replace('\n',' ')   # 替换 换行符
        cnt = re.findall(':(.*)',cnt)[0]
        with open('contend.txt' ,mode= 'a' ,encoding='utf-8')as  f:
            f.write(cnt+'\n')
    # 找到下一页进行点击
    driver.find_element_by_css_selector('.znxt').click()
    time.sleep(3)
print('OK!')
# 退出浏览器:
# driver.quit()

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itLaity

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值