大家好,我是天空之城,今天给大家带来用python的selenium模块自动爬取周董歌曲评论,最大程度避免被反爬。需要大家自己安装selenium模块以及安装webdriver驱动放到pychram文件夹里面。
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get('https://y.qq.com/n/yqq/song/000xdZuV2LcQ19.html') # 访问页面
time.sleep(2)
button=driver.find_element_by_class_name('js_get_more_hot')
button.click()
time.sleep(2)
comments = driver.find_element_by_class_name('js_hot_list').find_elements_by_class_name('js_cmt_li') # 使用class_name找到评论
#精彩评论
print(len(comments)) # 打印获取到的评论个数
for comment in comments: # 循环
sweet = comment.find_element_by_tag_name('p') # 找到评论
date= comment.find_element_by_tag_name('span')
author = comment.find_element_by_tag_name('h4')
print('评论:%s\n 时间:%s\n 作者:%s\n' % (sweet.text,date.text,author.text)) # 打印评论
再复习下登陆豆瓣
这里需要先切换进入iframe模块,再定位相应的登陆操作
from selenium import webdriver
import time
driver = webdriver.Chrome()
# 打开豆瓣
driver.get('https://www.douban.com/')
# 切换iframe
login_frame = driver.find_element_by_xpath('//div[@class="login"]/iframe')
driver.switch_to_frame(login_frame)
time.sleep(2)
# 切换登录方式
driver.find_element_by_xpath('//li[@class="account-tab-account"]').click()
# 选中checkbox选项
driver.find_element_by_id('account-form-remember').click()
# 输入账号密码
driver.find_element_by_id('username').send_keys('xxxxxx')
driver.find_element_by_id('password').send_keys('xxxxxxx')
# 点击登录按钮
driver.find_element_by_class_name('btn-account').click()