抓取LOL分类下的主播人气排名情况:

"""
抓取熊猫TV当前分类主播人气排名
"""
import re
from urllib import requestclass Spider():url = 'https://www.panda.tv/cate/lol'# 正则匹配,匹配两个div之间所有的字符(包含主播昵称和主播人气),并且是非贪婪(因为后面有很多个</div>,所以用非贪婪模式)root_pattern = '<div class="video-info">([\s\S]*?)</div>'# 匹配主播昵称name_pattern = '</i>([\s\S]*?)</span>'# 匹配主播人气number_pattern = '<span class="video-number">([\s\S]*?)</span>'def __fetch_content(self):r = request.urlopen(Spider.url)htmls = r.read()# 转成字符串htmls = str(htmls, encoding='utf-8')return htmlsdef __analusis(self, htmls):"""正则提取数据:param htmls::return:"""root_html = re.findall(spider.root_pattern, htmls)anchors = []for html in root_html:name = re.findall(spider.name_pattern, html)number = re.findall(spider.number_pattern, html)anchor = {'name': name, 'number': number}anchors.append(anchor)return anchorsdef __refine(self, anchors):"""数据精炼,将一些不需要的数据给清除,数据结构再处理内置函数strip去除换行符:param anchors::return:"""l = lambda anchor: {'name': anchor['name'][0].strip(),'number': anchor['number'][0]}return map(l, anchors)def __sort(self, anchors):"""数据进行排序处理,按照倒序(reverse=True)排序,:param anchors::return: 返回倒序后的结果"""anchors = sorted(anchors, key=self.__sort_seed, reverse=True)return anchorsdef __sort_seed(self, anchor):"""返回一个可以进行比较运算的元素:param anchor::return:"""r = re.findall('\d*', anchor['number'])number = float(r[0])if '万' in anchor['number']:number *= 10000return numberdef __show(self, anchors):"""展示数据:param anchors::return:"""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.__analusis(htmls)anchors = list(self.__refine(anchors))anchors = self.__sort(anchors)self.__show(anchors)spider = Spider()
result = spider.go()

尽量少一点嵌套函数,平级函数好点
代码的行数控制在10-20行直接,最多尽量不要超过20行
了解BeautifulSoup,和Scrapy框架

Python抓取熊猫TV分类下的主播人气排名相关推荐

  1. 《原生爬虫》爬取某直播平台某分类下的主播人气,生成排行榜

    此原生爬虫项目旨在爬取直播平台(本项目以pandaTV为例)上某分类(本项目为Dota2)的主播人气,进行排行.得出排行榜. 首先对爬虫的框架进行分析,得到以下思维导图: 从思维导图中可以得到该爬虫应 ...

  2. Python3原生爬虫获取熊猫直播某一分类下的主播人气并保存到Excel

    import re import openpyxl from urllib import request# 断点调试class Spider:url = 'https://www.panda.tv/c ...

  3. Python爬取熊猫TV 英雄联盟游戏分类下面所有主播的人气排行

    编写这个原生爬虫项目的3个主要目的: 1.巩固 python 基础知识 2.了解合理的编码规范和方式 3.了解爬虫基本原理 项目分析: 1.爬取网站: 熊猫TV(https://www.panda.t ...

  4. 使用seleinum模块动态爬取熊猫直播平台全部的主播房间。

    爬取熊猫平台的数据也是使用面向对象的思想,和同样的逻辑思维,可以借鉴一下这种逻辑思维.至于解析可以参看我的这一篇博客:https://blog.csdn.net/qq_39198486/article ...

  5. python抓取亚马逊某个类目下Top 100排名的商品

    1.获取分页url 列表 2. 获取详情页url列表 3. 获取详情页数据 import requests from lxml import etree import urllib3 import t ...

  6. Python爬虫实战,requests模块,Python实现抓取芒果TV弹幕

    前言 利用Python实现抓取芒果TV弹幕,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: pandas模块 以及一些Python自带 ...

  7. Python爬虫实战一:抓取知乎问题下所有回答

    代码是最近(2021.09)新写的~ 需求 任务需求:抓取知乎问题下所有回答,包括其作者.作者粉丝数.回答内容.时间.回答的评论数.回答赞同数以及该回答的链接. 分析 以最近比较引人关注的" ...

  8. python原生爬虫爬取熊猫TV LOL主播人气排行

    本文采取phthon原生爬虫,没有采用常用的爬虫框架,比较适合新手练手. 首先进入熊猫TV英雄联盟主页----https://www.panda.tv/cate/lol?pdt=1.24.s1.2.4 ...

  9. 微信好友大揭秘,使用Python抓取朋友圈数据,通过人脸识别全面分析好友,一起看透你的“朋友圈”...

    微信:一个提供即时通讯服务的应用程序,更是一种生活方式,超过数十亿的使用者,越来越多的人选择使用它来沟通交流. 不知从何时起,我们的生活离不开微信,每天睁开眼的第一件事就是打开微信,关注着朋友圈里好友 ...

最新文章

  1. 云开发使用 got 的 get/post 传参请求示例代码
  2. c语言分手代码大全,C语言代码大全
  3. 让Linux系统开机速度更快的方法
  4. php项目使用xdebug远程调试
  5. 数据结构与算法 / 冒泡排序最坏情况下的时间复杂度解析
  6. 信息安全已成社会普遍焦虑 给个人信息加上防护锁
  7. 修改weblogic端口的方法
  8. 8086算术移位指令SAL和SAR
  9. Photoshop笔刷|如何正确导入笔刷?
  10. css clear属性 的深入了解
  11. 机器学习之---马尔可夫随机场的应用
  12. postman前置脚本密码MD5加密以及转大写
  13. 计算机excel界面,理解Excel工作界面
  14. Capture One使用的几个小技巧
  15. jQuery each()跳出循环
  16. 使用gmediarender-resurrect搭建DLNA音箱
  17. 2020年9月六级翻译题目:西游记
  18. FPM五:拆解前面的四——OVP做查询和结果
  19. 关于计算机的网络作文,关于网络的作文:网络_450字
  20. 4411 三仙归洞(找规律-周期)

热门文章

  1. 求积分方法及积分知识点-----专升本
  2. 杨辉三角:给出正整数n(2<=n<=10),输出杨辉三角前n行 杨辉三角性质:三角形中的每个数字等于它两肩上的数字相加
  3. 第一代计算机主机主要使用,第一代计算机使用什么语言
  4. 45种可以获得Webshell的程序[转]
  5. HDLBits:在线学习Verilog(七 · Problem 30-34)
  6. 戴尔计算机显卡型号,戴尔笔记本电脑型号有哪些 戴尔笔记本电脑推荐【详解】...
  7. 以前写的质谱仪的系统
  8. Zano:迷你无人飞行摄影机
  9. 京东全网手机爬虫scrapy_redis及决策树数据分析
  10. tf.invert_permutation