爬虫之爬取斗鱼官网LOL部分主播的状态
2018-09-29 08:49
176 查看
一个爬虫小程序 爬取主播的排名及观看人数
import re import requests import request class Spider(): url = 'https://www.douyu.com/g_lol' root_pattern = '<p>([\s\S]*?)</p>' name_pattern = '<span class="dy-name ellipsis fl">([\s\S]*?)</span>' number_pattern = '<span class="dy-num fr" >([\s\S]*?)</span>' def __fetch_content(self): r = requests.get(Spider.url) htmls = r.text return htmls def __analysis(self, htmls): root_htmls = re.findall(Spider.root_pattern, htmls) anchors = [] for html in root_htmls: name = re.findall(Spider.name_pattern, html) number = re.findall(Spider.number_pattern, html) anchor = {'name': name, 'number': number} anchors.append(anchor) return anchors def __refine(self, anchors): l = lambda anchor: { 'name': anchor['name'][0], 'number': anchor['number'][0] } return map(l, anchors) def __sort(self, anchors): anchors = sorted(anchors, key=self.__sort_seed, reverse=True) return anchors def __sort_seed(self, anchor): r = re.findall('\d*', anchor['number']) number = float(r[0]) if '万' in anchor['number']: number *= 10000 return number def __show(self, anchors): for rank in range(0, len(anchors)): print( '人数排名' + 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()
运行结果:
喜欢的朋友们可以去看主播的排名啦
相关文章推荐
- 关于项目中多次保存订单,并且保存后就快速提交,导致部分数据状态未改变
- dySE:一个 Java 搜索引擎的实现,第 1 部分: 网络爬虫
- python 爬取 某平台 LOL主播姓名+加人气,然后进行排序
- 爬虫总结 && 部分正则匹配
- 第三篇 Windows8 Metro管理应用生命周期和状态(摘微软官网)
- 解决VS 2017 TFS获取部分代码为空,状态为黄色感叹号
- 9、class获取、添加删除状态切换 - HTML5&CSS3.0基础部分-xyphf
- Http1.0和Http1.1的区别和部分状态码
- 工大助手(爬虫——登录部分)
- 确保你的备份恰到好处 Ubuntu桌面版的默认工具:dejá-dup仅被设置为默认备份你的home目录,因此它遗漏一些你在需要将系统恢复到有序的工作状态时的重要部分。让我们试想一下你的系统由以下三个部
- 选中Cell后,让阴影部分消失,即去掉选中状态
- 由lol六周年全新官网按钮动画——动画效果、z-index
- Android基础部分再学习---activity的状态保存
- Java爬虫(三)-- httpClient 模拟登录 + cookie 登录状态管理
- Python简易爬虫,爬取斗鱼颜值美女!!
- 爬虫部分技术要点浅析
- 浅谈思路严谨的管理软件中的用户在线状态控制【附部分C#参考代码】
- bcache状态和配置文件详细介绍(翻译自官网)
- 爬取斗鱼格斗区主播人气值
- Android系统亮屏、锁屏、屏幕解锁事件(解决部分手机亮屏后未解锁即进入resume状态)