Python抓取斗鱼主播及热度

刚接触python,想用python爬取下斗鱼的主播及其热度,下面是一个小demo

具体代码如下

from urllib import request
from io import BytesIO
import re
import gzip
import ssl
ssl._create_default_https_context = ssl._create_unverified_contextclass Spider():url = 'https://www.douyu.com/g_LOL'# [\s\S]字符*0次或多次 ?非贪婪  ([\s\S]*?)root_pattern = '<div class="DyListCover-info">(.*?)</div>'  # 匹配所有内容,非贪婪name_pattern = '<use xlink:href="#icon-user_c95acf8"></use></svg>([\s\S]*?)</h2>'number_pattern = '<use xlink:href="#icon-hot_8a57f0b"></use></svg>(.*?)</span>'def __fetch_content(self):r = request.urlopen(Spider.url)htmls = r.read()  # 返回bytebuff = BytesIO(htmls)f = gzip.GzipFile(fileobj=buff)htmls = f.read().decode('utf-8')return htmlsdef __analysis(self, htmls):root_html = re.findall(Spider.root_pattern, htmls)# print(root_html)   findall返回list# print(type(root_html))   list# print(type(root_html[1]))  strroot_html1 = []root_html1 = root_html[1::2]  # 取偶数项,切片操作 (数据特殊,必须是第二个孩子)# print(root_html1[1])anchors = []for html in root_html1:name = re.findall(Spider.name_pattern, html)  # listnumber = re.findall(Spider.number_pattern, html)  # listanchor = {'name': name, 'number': number}anchors.append(anchor)return anchorsdef __refine(self, anchors):  # 数据精炼def l(anchor): return {  # 返回对象'name': anchor['name'][0].strip(),  # strip去空格'number': anchor['number'][0]}return map(l, anchors)  # 返回mapdef __sort(self, anchors):anchors = sorted(anchors, key=self.__sort_sead, reverse=True)return anchorsdef __sort_sead(self, anchor):  # 配置sort的第二个参数r = re.findall('\d*', anchor['number'])number = float(r[0])  # r[0]匹配的是开头数字if '万' in anchor['number']:number *= 10000return numberdef __show(self, anchors):for rank in range(0, len(anchors)):print('Rank '+str(rank+1)+':' +anchors[rank]['name']+'  '+anchors[rank]['number'])def go(self): # 入口文件htmls = self.__fetch_content()anchors = self.__analysis(htmls)anchors = list(self.__refine(anchors))anchors = self.__sort(anchors)self.__show(anchors)spider = Spider()
spider.go()

实现效果如下

这是看一个网课视频,跟着老师敲下来的,只是老师用的是熊猫直播,然鹅,当我学的时候,它已经不在了,

python抓取斗鱼的主播及热度相关推荐

  1. 用python抓取斗鱼网的弹幕

    代码实现: from selenium import webdriver import time# amount=要爬多少数量 def douYuDanMu(amount):#手动添加路径path = ...

  2. python 模拟浏览器selenium_Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例...

    本文实例讲述了Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息.分享给大家供大家参考,具体如下: import time from multiprocessing import Poo ...

  3. python采集直播间数据_Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例...

    本文实例讲述了Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息.分享给大家供大家参考,具体如下: import time from multiprocessing import Poo ...

  4. python抓取直播源 并更新_Python爬虫实例(二)使用selenium抓取斗鱼直播平台数据...

    程序说明:抓取斗鱼直播平台的直播房间号及其观众人数,最后统计出某一时刻的总直播人数和总观众人数. 过程分析: 进入平台首页,来到页面底部点击下一页,发现url地址没有发生变化,这样的话再使用urlli ...

  5. PYTHON爬取斗鱼英雄联盟所有在玩adc的主播房间信息

    Python爬取斗鱼英雄联盟所有玩adc的主播房间信息并用redis存储数据 最近想要用巩固下json数据的提取以及数据的存储,于是选了斗鱼作为研究对象.. 下面就是所有要爬取的adc,当然有个别ad ...

  6. 爬取斗鱼LOL主播人气数据,并显示排行榜 [网络爬虫] [应用案例][请求头][模块]

    您的"关注"和"点赞",是信任,是认可,是支持,是动力- 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 文章目录 1 爬 ...

  7. python爬取斗鱼当前英雄联盟主播排名

    python爬取斗鱼当前英雄联盟主播排名 代码 # 目的:爬取斗鱼英雄联盟当前主播的排名 # 找到对应网页 # 分析排名和名称相对的位置# 模拟HTTP请求,获取HTML数据 # 用正则表达式获取对应 ...

  8. selenium抓取斗鱼直播平台数据

    https://www.cnblogs.com/xinyangsdut/p/7617691.html 程序说明: 抓取斗鱼直播平台的直播房间号及其观众人数,最后统计出某一时刻的总直播人数和总观众人数. ...

  9. 用python抓取智联招聘信息并存入excel

    用python抓取智联招聘信息并存入excel tags:python 智联招聘导出excel 引言:前一阵子是人们俗称的金三银四,跳槽的小朋友很多,我觉得每个人都应该给自己做一下规划,根据自己的进步 ...

最新文章

  1. python单词词频字典_python利用多种方式来统计词频(单词个数)
  2. 平均符号熵的计算公式_交叉熵(Cross Entropy)从原理到代码解读
  3. 中国航发牵手阿里云共同打造:航空新引擎
  4. 计算机用的机械硬盘的工作原理,为啥一震就坏?机械硬盘的构造原理是什么?...
  5. python 的 购物小程序
  6. kettle插入更新流程
  7. java内存:堆、栈、常量池、方法区
  8. File Io 删除类中的引用
  9. 2款在线FM音乐聚合播放PHP源码 带搜索
  10. Spring+CXF的WebServices简单示例
  11. PHPOffice下PHPWord生成Word2007(docx)使用方法
  12. 线段树(Segment Tree)
  13. 《JavaScript开发框架权威指南》——2.4 处理任务
  14. Mac新手教程:Adobe Illustrator 如何创建文件
  15. 什么?华为方舟编译器竟然这么牛逼~
  16. 继续惨...555555555
  17. SAP跨公司销售经典场景
  18. 一个程序员的十年程序人生感悟
  19. 根据身份证号(18/15)计算年龄、出生日期、性别
  20. 基于微信小程序的个人管理软件

热门文章

  1. 汇编 nasm 打字板
  2. Java中的getClass方法
  3. 读书笔记:《游戏感:游戏操控感和体验设计指南》
  4. Notepad++中格式化html代码的插件tidy2的下载与安装
  5. img-polaroid_宝丽来堆栈到网格简介动画
  6. 大胖球:微软之走向死亡
  7. 信号完整性(SI)电源完整性(PI)学习笔记(八)传输线的物理基础(一)
  8. GreatSQL MGR FAQ
  9. GitHub Desktop 出现“please upgrade your plan to create a new private repository”的解决办法
  10. 京东自媒体平台京东号正式上线!