忘记密码

成功验证手机号即可找回密码

请输入密码
请确认密码
用户登录
请输入密码
忘记密码
注册免费试用
注册后联系客服获取免费资格
请输入密码
复制成功
请粘贴在新的浏览器或标签页内打开
确定
账户余额不足10元

为了不影响您的正常使用,请及时充值!

我知道了

恭喜您注册成功!
已成功领取账户余额

25 1
立即领取

手机号绑定成功!
已成功领取账户余额

25 1
立即领取
首页> 最新资讯> 爬虫如何爬斗鱼直播的主播信息数据

爬虫如何爬斗鱼直播的主播信息数据

最新资讯 发布日期 2019-04-26         

  今天芝麻HTTP就为大家分享一下,爬虫是如何爬取斗鱼直播的主播信息数据的。这里我们主要抓取的信息有主播的名称和粉丝数量,首先,我们先打开斗鱼直播的网页,F12审查元素,查找我们需要的信息所在的位置。

  代码如下:

from selenium import webdriver

from lxml import etree

import csv

# 创建浏览器对象,发请求

driver = webdriver.Chrome()

driver.get("https://www.douyu.com/directory/all")

class DouyuSpider:

def __init__(self):

self.n = 0

self.page = 1

# 获取主播名称、粉丝数量

def getData(self):

# 创建xpath的解析对象

parseHtml = etree.HTML(driver.page_source)

names = parseHtml.xpath('//div[@id="live-list-content"]//span[@class="dy-name ellipsis fl"]/text()')

numbers = parseHtml.xpath('//div[@id="live-list-content"]//span[@class="dy-num fr"]/text()')

# names : ["主播1","主播2",....]

# numbers:["90.8万","90万",...]

# zip(L1,L2) : [(1,"A"),(2,"B"),(3,"C")]

for name,number in zip(names,numbers):

L = [name.strip(),number.strip()]

self.writeData(L)

self.n += 1

# 保存到csv文件

def writeData(self,L):

with open("斗鱼直播.csv","a",newline="",encoding="gb18030") as f:

writer = csv.writer(f)

writer.writerow(L)

# 主函数

def workOn(self):

for i in range(1,11):

self.getData()

print("第%d页爬取成功" % i)

# 如果找不到不能点的下一页的class,去点击下一页

if driver.page_source.find("shark-pager-next shark-pager-disable shark-pager-disable-next") == -1:

driver.find_element_by_class_name("shark-pager-next").click()

else:

print("爬取完成")

break

print("一共有%d个主播" % self.n)

if __name__ == "__main__":

spider = DouyuSpider()

spider.workOn()

  通过上述代码,我们就可以获取到斗鱼的主播名称和粉丝数量了。芝麻HTTP为您提供安全稳定、高效便捷的爬虫代理IP服务,更多问题请点击官网咨询客服。


爬虫 主播 数据
客户经理
835658804 18115265829
在线咨询

售后客服

在线售后,实时响应

渠道/企业/大客户合作

大汉:153-0544-5551
芝麻HTTP公众号 微信客服
免费套餐
客户定制
专属客户经理
2890289832
15963368937

微信二维码

大客户
专属客户经理
1214413489
17696587966

微信二维码

公众号

关注公众号

意见反馈
置顶