首页 > 其他分享 >爬取虎牙直播的直播间名称以及对应的人数

爬取虎牙直播的直播间名称以及对应的人数

时间:2023-04-25 20:24:30浏览次数:38  
标签:直播间 anchors self number 爬取 虎牙 htmls anchor name

首先获得数据定位   按F12打开控制台,点击左上角抓取其中一个直播间的主播名称,观看人数同样操作

为了使得到的数据名称与观看人数对应,找到最近的闭合标签,图片中最上面的使闭合标签,第一行是主播名称,第二行是直播间观看人数。

标签选择执行“就近原则”

 

爬取内容结构如下

 实现爬取直播间名称和人数的代码实现如下

 1 import re
 2 from urllib import request
 3 
 4 class Spider():
 5     url="https://www.huya.com/g/lol"
 6     #正则表达式   匹配内容,爬取的内容
 7     root_pattern ='<div class ="txt">([\s\S]*?)</div>'
 8     #root_pattern ='<div class ="txt">[\s\S]*?</div>'  *可以读取多个字符   ?选择非贪婪模式  ()只选择前面标签里面的信息
 9     #匹配的方式
10     #\w 单词字符 \W
11     #\s 空白字符\W
12     #. 匹配除换行符\n之外其他所有字符
13     name_pattern ='</i>([\s\S]*?)</span>'
14     number_pattern='<span class="num">[\s\S]*?)</span>'
15     def __fetch_content(self):
16         r= request.urlopen(Spider.url)
17         htmls = r.read()
18         htmls =str(htmls,encoding='utf-8')
19         return htmls
20     def __analysis(self, htmls):
21         root_html = re.findall(Spider.root_pattern,htmls)
22         anchors=[]
23         for htlm in root_html:
24             name = re.findall(Spider.name_pattern,html)
25             number = re.findall(Spider.number_pattern,html)
26             anchor ={'name':name,'number':number}
27             anchors.append(anchor)
28         return anchors
29     #已经获得数据,精炼数据,规范结构
30     def __refine(self,anchors):
31         l = lambda  anchor:{
32             'name':anchor['name'][0].strip(),
33             'number':anchor['number'][0]
34             }
35         return map(l,anchors)
36         #strip 去除空格python内置函数
37     def __sort(self,anchors):
38         anchors =sorted(anchors,key=self.__sort_seed(),reverse=True)
39         return anchors
40 
41     def __sort_seed(self,anchor):
42         r=re.findall('\d*',anchor['number'])
43         # 加 * 是多个 相当于 *n
44         number = float(r[0])
45         if '万' in anchor['number']:
46             number *=10000
47         return anchor['number']
48 
49     def _show(self,anchors):
50         for rank  in range(0,len(anchors)):
51             print('rank ' + str(rank + 1)+ ':'+ anchors[rank]['name'] + '     '+ anchors[rank]['number'])
52 
53     def go(self):
54         htmls =self.__fetch_content()
55         anchors=self.__fetch_content()
56         anchors=list(self.__refine(anchors))
57         anchors =self.__sort(anchors)
58         self.__show(anchors)
59 
60 
61 
62 spider =Spider()
63 spider.go()

运行结果如下

 

标签:直播间,anchors,self,number,爬取,虎牙,htmls,anchor,name
From: https://www.cnblogs.com/Szxszx/p/17353714.html

相关文章

  • 爬取青年大学习
    importrequestsfromlxmlimportetreeurl='http://news.cyol.com/gb/channels/vrGlAKDl/index.html'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/110.0.0.0......
  • 抖音直播间人气接口算法 抖音协议
    Q44804487于2022-04-0210:15:54发布6525收藏26文章标签:python版权因为业务需要最近研究了下抖音直播间接口发现只要一直给一个接口发送心跳包就能保持这个用户的在线状态有些团队用这个实现直播间刷虚假人气上代码片段有感兴趣的可以一起交流学习    defbullet_chat......
  • 大众点评美食健身店铺数据爬取
    店铺详情数据QQ165554127......
  • Python无框架分布式爬虫,爬取范例:拼多多商品详情数据,拼多多商品列表数据
    拼多多是中国领先的社交电商平台之一,是一家以“团购+折扣”为主要运营模式的电商平台。该平台上有海量的商品,对于商家和消费者来说都具有非常大的价值,因此,拼多多商品数据的采集技术非常重要。本文将介绍拼多多商品数据的采集技术。一、拼多多商品的数据结构拼多多的商品数据包含了......
  • pathon爬虫实战——爬取某网站的多页番剧内容
    (本博客只为技术分学习,无其他用途) 1.准备涉及的第三方库如下: 2.网页分析2.1检验网页1.运行浏览器,打开网页,按快捷键F12打开开发者工具,F5刷新页面2.在右侧点击Network,打开browser?sort=rank&page=1文件,可以看到各种信息,查看表头 3.获取Cooki和User-Agnet,准备伪......
  • 记一次python写爬虫爬取学校官网的文章
    有一位老师想要把官网上有关数字化的文章全部下载下来,于是找到我,使用python来达到目的首先先查看了文章的网址获取了网页的源代码发现一个问题,源代码里面没有url,这里的话就需要用到抓包了,因为很明显这里显示的内容是进行了一个请求,所以只能通过抓包先拿到请求的url从而获得每一......
  • selenium爬取异步加载的网站
    为了便利化使用selenium驱动浏览器进行操作,遇到一个网页,大部分内容都是通过xhr请求后再通过前端js处理显示,带来的一个问题就是,采用显示等待无法准确的定位到需要的节点。因此,需要考虑采用判断xhr请求是否完成后再进行定位,或者直接获取xhr请求返回内容的做法。对于selenium爬虫来说,......
  • 批量爬取TXT文本
    importreimportos #导入模块importthreadingimportpymysql#连接数据框,创建表db=pymysql.connect(host='localhost',user='root',password='1234',database='旅游�......
  • 爬取的数据存mysql中、加代理,cookie,header,加入selenium、布隆过滤器、scrapy-redis实
    上节回顾#1scrapy架构 -爬虫:写的一个个类-引擎: -调度器:排队,去重-下载器-pipline-下载中间件-爬虫中间件#2命令 -scrapystartproject项目名-scrapygensipder爬虫名网址-scrapycrawl爬虫名字-run.py#......
  • 小程序直播间发红包开发实战
    大家好,我是小悟说到小程序直播间发红包的功能,以前就写过一篇实现思路和实现过程,有兴趣的请参考 微信小程序直播间开发抽红包功能 ,还是比较实用的。直播间现有的营销工具不足以满足我们的需要,那我们只有自己动手来做了。操起代码就是干,先看下效果。用户领取红包后,金额要放在哪里,那......