import re
import openpyxl
from urllib import request# 断点调试class Spider:url = 'https://www.panda.tv/cate/lol'root_pattern = '<div class="video-info">([\s\S]*?)</div>'name_pattern = '<span class="video-nickname"[\w\W]*?</i>([\s\S]*?)</span>'number_pattern = '<span class="video-number">([\s\S]*?)</span>'
#获取页面def __fetch_content(self):r = request.urlopen(Spider.url)# bytes 将其转成字符串htmls = r.read()htmls = str(htmls,encoding='utf-8')return htmls
#分析def __analysis(self, htmls):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)# print(anchors[0])return anchors
#精炼/清洗def __refine(self, anchors):l = lambda anchor: {'name':anchor['name'][0].strip(),'number':anchor['number'][0]}return map(l,anchors)
#排序def __sort(self, anchors):#py默认排序方法anchors = sorted(anchors,key=self.__sort__seed,reverse=True)return anchors
#按xx排序def __sort__seed(self, anchor):r = re.findall('\d*',anchor['number'])number = float(r[0])if '万' in anchor['number']:number *= 10000return number
#打印排序完的数据def __show(self, anchors):for rank in range(0,len(anchors)):print('rank ' + str(rank + 1)+ ' : ' + anchors[rank]['name']+ '  ' +  anchors[rank]['number'])
#导入excel表def __import_excel(self,anchors):#新建info = openpyxl.Workbook()sheet = info.activesheet.title = 'pandatv_sheet'title = ['排名','主播','人气']col = 1for t in title:sheet.cell(1,col,t)col += 1row = 2for anchor in anchors:col = 2for key,value in anchor.items():sheet.cell(row,1,row-1)sheet.cell(row,col,value)col += 1row += 1info.save('pandatv_sheet.xlsx')
#入口/总控方法def go(self):htmls = self.__fetch_content()anchors = self.__analysis(htmls)anchors = list(self.__refine(anchors))anchors = self.__sort(anchors)# print(anchors)self.__import_excel(anchors)# self.__show(anchors)spider = Spider()
spider.go()

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

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

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

  2. Python抓取熊猫TV分类下的主播人气排名

    抓取LOL分类下的主播人气排名情况: """ 抓取熊猫TV当前分类主播人气排名 """ import re from urllib impo ...

  3. python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中

    我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...

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

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

  5. 对豆瓣进行爬虫来获取相关数据(分别保存到Excel表格和sqlite中)

    1.存入Excel表格的代码: from bs4 import BeautifulSoup #网页解析,获取数据 import re #正则表达式,进行文字匹配 import urllib.reque ...

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

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

  7. Python爬虫鲁迅先生《经典语录》保存到Excel表格(附源码)

    Python爬虫鲁迅先生<经典语录>保存到Excel表格(附源码) 前言 今天用Python 爬取鲁迅先生<经典语录>,直接开整~ 代码运行效果展示 开发工具 Python版本 ...

  8. 熊猫TV王者荣耀主播人气TOP10

    ----------简易爬虫展示农药主播人气--- import re import urllib.request as reqURL = "https://www.panda.tv/cat ...

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

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

最新文章

  1. 自动写作、RNN基本原理以及LSTM的基本原理
  2. [转]关于正则表达式 g,m 参数的总结,为了回答“正则表达式(/[^0-9]/g,'')中的/g是什么意思?”...
  3. 使用 icon 字体图标出现小方块问题
  4. 移动平均滤波_Kalman滤波理论与MATLAB实现引言
  5. Android配置环境问题
  6. mysql创建非聚集索引_聚集索引和非聚集索引的区别
  7. UVA 141 The Spot Game
  8. xy坐标转换为极坐标_CAD制图软件新手攻略:坐标系及标注坐标
  9. dp套dp(动态规划)
  10. 查询学生选修课程管理系统java_JAVA数据库课程设计学生选课管理系统的
  11. feed流和瀑布流_基础知识讲解:什么是feed流?(图文)
  12. 执行一次怎么会写入两次数据_Java进阶知识:一文详解缓存Redis的持久化机制,新手看完也会用
  13. 高中计算机教育类文章,高中信息技术的教学论文
  14. ★RFC标准库_目录链接
  15. 第三周:tesseral 2D软件的使用
  16. 项目经理不得不知道的里程碑计划及其重要用途
  17. java excel 数组公式_Apache poi中的数组公式
  18. 郑州计算机c语言培训机构,c语言入门学习选郑州哪家计算机专业学校
  19. 6. 小A的糖果(普及-)
  20. Python密码库Cryptography探究学习

热门文章

  1. Chemical Science | Img2Mol+: accurate SMILES recognition from molecular graphical depictions
  2. [编程神域 C语言浮游塔 第②期] 程序框架的搭建及14种基本运算符
  3. 最难毕业季,会Python简直可以开挂
  4. app运行中的crash崩溃异常日志收集
  5. Windows权限维持之php不死马、映像劫持、策略组脚本
  6. Redis入门完整教程:客户端连接
  7. vim 保存时出现无法打开并写入文件错误(解决办法)
  8. 玩爬虫不就是为了多爬取几个小姐姐吗,几十行代码快速获取小姐姐视频?
  9. Android开发如何高效学习系统底层原理
  10. 跑步运动耳机哪个牌子好、适合运动的耳机