目标网站
在这里插入图片描述
抓取第一个直播的标题
现在来实现批量抓取
这里用xpath匹配
第一页抓取完毕,开始抓取剩下的页数
一共31页,每页数据为一个列表,全部数据套在一个大列表中
以下是完整代码:
# 导入模块
import time
from selenium import webdriver
result_list = []
# 创建对象
window = webdriver.Chrome('./chromedriver')
# 访问网页
window.get('https://www.douyu.com/g_wzry')
time.sleep(2) # 设置一个延迟等待请求页面加载完
aaa = window.find_elements_by_xpath('//h3[@class="DyListCover-intro"]')
temp_list = []
for title_element in aaa: # 打印标题
temp_list.append(title_element.text)
result_list.append(temp_list)
print('*'*100)
page = 2
while True: # 因为页数是根据当前在线的主播数量动态改变的,所以一直循环直到最后一页找不到退出循环
try:
next = window.find_element_by_link_text(str(page))
next.click()
except:
break
time.sleep(2) # 设置一个延迟等待请求页面加载完
aaa = window.find_elements_by_xpath('//h3[@class="DyListCover-intro"]')
temp_list = []
for title_element in aaa: # 打印标题
temp_list.append(title_element.text)
result_list.append(temp_list)
print(page,'*' * 100)
page+=1
print(result_list)
# 关闭窗口
window.quit()