爆料!干货!Python大咖教你如何使用Selenium抓取斗鱼平台数据

程序说明:爬取斗鱼上的直播间封面,房间名字,房间分类

在这里插入图片描述

1>需要用到Selenium

Selenium的安装

pip install selenium

Selenium模块需要调用浏览器,需要配置selenium的浏览器驱动

Chrome(谷歌)

下载对应版本的chromedriver.exe,并且放到chrome.exe的目录当中

下载地址 私聊获取 这是淘宝镜像地址,可以根据自己的电脑版本进行下载

selenium之 chromedriver与chrome版本映射表:大家可以自行百度

准备工作差不多就可以了

2>接下来就是代码部分

from selenium import webdriver
import time
class DouyuSpider(object):
 def __init__(self):
 self.start_url = "https://www.douyu.com/directory/all"
 self.driver = webdriver.Chrome()
 def get_content_list(self):
 # live-list-contentbox
 list_li = self.driver.find_elements_by_xpath('//ul[@id="live-list-contentbox"]/li')
 content_list = []
 for li in list_li:
 item = {}
 item['room_img'] = li.find_element_by_xpath('.//span[@class="imgbox"]/img').get_attribute('src')
 item['room_name'] = li.find_element_by_xpath('./a').get_attribute('title')
 item['room_cate'] = li.find_element_by_xpath('.//span[@class="tag ellipsis"]').text
 content_list.append(item)
 print(content_list)
 next_url = self.driver.find_elements_by_xpath("//a[@class='shark-pager-next']")
 next_url = next_url[0] if len(next_url) > 0 else None
 return content_list,next_url
 def save_content_list(self,content_list):
 pass
 def run(self):
 # 1 start_url
 # 2 发送请求 获取响应
 self.driver.get(self.start_url)
 # 3 提取数据 提取下一页
 content_list,next_url = self.get_content_list()
 # 4 保持数据
 self.save_content_list(content_list)
 # 5 点击下一页元素,循环
 while next_url is not None:
 next_url.click()
 time.sleep(2)
 content_list, next_url = self.get_content_list()
 self.save_content_list(content_list)
if __name__ == '__main__':
 douyu = DouyuSpider()
 douyu.run()

猜你喜欢

转载自blog.csdn.net/weixin_44469638/article/details/86595803