python用自动化爬取网易云评论1
Posted J哥。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()
以上是关于python用自动化爬取网易云评论1的主要内容,如果未能解决你的问题,请参考以下文章