Python+selenium +BeautifulSoup抓取QQ音乐精彩评论(涉及点击加载更多的处理方式)
# 本地Chrome浏览器设置方法
from selenium import webdriver
import time
#本地一定得在环境根目录下安装谷歌浏览器的驱动
driver = webdriver.Chrome()
from bs4 import BeautifulSoup
import time
driver.get('https://y.qq.com/n/yqq/song/000xdZuV2LcQ19.html') # 访问页面
time.sleep(2)
#点击3次页面的‘点击加载更多’按钮 加上默认的15条数据,最后就有60条热评了
for i in range(3):
button = driver.find_element_by_class_name('js_get_more_hot') # 根据类名找到【点击加载更多】
button.click() # 点击
time.sleep(2) # 等待两秒 因为页面加载需要时间,设置长些保险起见
pageSource = driver.page_source # 获取Elements中渲染完成的网页源代码
soup = BeautifulSoup(pageSource,'html.parser') # 使用bs解析网页
comments = soup.find('ul',class_='js_hot_list').find_all('li',class_='js_cmt_li') # 使用bs提取元素
print(len(comments)) # 打印comments的数量
for comment in comments: # 循环
sweet = comment.find('p') # 提取评论
print ('评论:%s\n ---\n'%sweet.text) # 打印评论
driver.close() # 关闭浏览器 # 关闭浏览器
欢迎留下你的看法
共 0 条评论