python怎么爬虎牙_手把手教你利用Python爬取虎牙平台数据
首先打开我们所需要爬取的网站,这里我们挑选的是虎牙直播。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:623406465
我们今天所爬取的数据就是直播名,直播地址,直播的人,观看数以及直播的类别,如下图所示
第一步关于直播的类别,从第一张图片我们可以看到在右边有直播的各种类型,我们只需点击某一个就可以进入相应的直播。
那么我们就按下F12来观察一下
我们发现他们都是在一个标签为a,class属性为recomend-item j_sidebar-recomend-item 的里面,并且里面有一个属性herf,点击进去就是相应的直播。
那么我们就可以使用Beautifulsoup库的find_all方法来找到各个类别的网址及名称,代码如下图所示:
import requestsfrombs4 import BeautifulSoup
url= 'https://www.huya.com/l'headers={"user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"}
r= requests.get(url,headers =headers)
r.raise_for_status()
r.encoding=r.apparent_encoding
html= BeautifulSoup(r.text,'html.parser')
a= html.find_all('a',class_ ='recomend-item j_sidebar-recomend-item')for i ina:
print(i)
让我们看看运行的结果
是一系列标签,但我们这里所需要的是网站href以及类别title,于是我们写下代码:
for i in a:
href = i['href']
title = i['title']
print(href,title)
查看运行结果
可以发现得到了我们想要的结果,这里我们可以创建一个二维列表来一起存放网址和类别:
urls.append([href,title])
得到了这些之后我们可以选取一个网址进入,我这里选择的是英雄联盟,点击进去后如图:
现在我们可以爬取直播的名字,观看量以及主播的名字,我们按下F12
这里我们可以看到数据都存放在一个class属性为game-live-item,标签为li里面,打开这个li标签我们可以看到
下面有两个a标签,一个span标签,同时我们发现我们可以爬取的数据的位置
知道这些之后我们又可以用我们的Beautifulsoup库来获取想要的数据,首先我们先把所有的li标签给找到
a = html.find_all('li',class_ = 'game-live-item')
首先获得主播的名称,在第一个a标签下的img标签的属性alt里,这里我们可以直接用select函数来找img标签即可,代码如下
title = i.select('img')[0]['alt']
其次获得网址,直播名,是在第二个a标签下属性href和title,代码如下:
href = i.select('a')[1]['href']
title1 = i.select('a')[1]['title']
最后获得观看量,在i标签下由于是数字我们直接用text便可以得到
num = i.select('i',class_ = 'js-num')[3].text
最后将他们三者都打印出来,看看运行的效果:
最后附上完整代码:
import requestsfrombs4 import BeautifulSoup
url= 'https://www.huya.com/l'headers={"user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"}
r= requests.get(url,headers =headers)
r.raise_for_status()
r.encoding=r.apparent_encoding
html= BeautifulSoup(r.text,'html.parser')
a= html.find_all('a',class_ ='recomend-item j_sidebar-recomend-item')
urls=[]for i ina:
href= i['href']
title= i['title']
#print(href,title)
urls.append([href,title])for url inurls:
r= requests.get(url[0],headers =headers)
html= BeautifulSoup(r.text,'html.parser')
a= html.find_all('li',class_ = 'game-live-item')
print(url[1])for i ina:
num= i.select('i',class_ = 'js-num')[3].text
title= i.select('img')[0]['alt']
href= i.select('a')[1]['href']
title1= i.select('a')[1]['title']
print(title,href,title1,num)
内容来源于网络如有侵权请私信删除
python怎么爬虎牙_手把手教你利用Python爬取虎牙平台数据相关推荐
- python自助电影售票机_手把手教你用python抢票回家过年(代码简单)
首先看看如何快速查看剩余火车票? 当你想查询一下火车票信息的时候,你还在上12306官网吗?或是打开你手机里的APP?下面让我们来用Python写一个命令行版的火车票查看器, 只要在命令行敲一行命令就 ...
- application实现网页计数_手把手教你利用爬虫爬网页(Python代码)
本文主要分为两个部分:一部分是网络爬虫的概述,帮助大家详细了解网络爬虫:另一部分是HTTP请求的Python实现,帮助大家了解Python中实现HTTP请求的各种方式,以便具备编写HTTP网络程序的能 ...
- python如何编游戏_手把手教你用python写游戏
引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,项目来自 ...
- python预测实例教程_手把手教你用Python库Keras做预测(附代码)-阿里云开发者社区...
当你在Keras中选择好最合适的深度学习模型,就可以用它在新的数据实例上做预测了.但是很多初学者不知道该怎样做好这一点,我经常能看到下面这样的问题: "我应该如何用Keras对我的模型作出预 ...
- python爬虫可以爬取个人信息吗_手把手教你利用Python网络爬虫获取旅游景点信息...
爬虫系列: 当我们出去旅游时,会看这个地方有哪些旅游景点,景点价格.开放时间.用户的评论等. 本文基于Python网络爬虫技术,以hao123旅游网为例,获取旅游景点信息. 1.项目目标 获取网站的景 ...
- python时间序列动图_手把手教你用Python进行时间序列分解和预测
来源:数据派THU(ID:DatapiTHU) ▔ 作者:Mohit Sharma 翻译:王闯(Chuck) 校对:王可汗 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列预测 ...
- python链家网爬虫_手把手教你利用Python网络爬虫获取链家网的房产信息
点击上方" Python爬虫与数据挖掘 ",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来 ...
- python如何训练模型生产_手把手教你用Python构建你的第一个多标签图像分类模型(附案例)...
你正在处理图像数据吗?我们可以使用计算机视觉算法来做很多事情: 对象检测 图像分割 图像翻译 对象跟踪(实时),还有更多-- 这让我思考--如果一个图像中有多个对象类别,我们该怎么办?制作一个图像分类 ...
- python 词云手把手_手把手教你用python制作属于你的第一个词云
相信很多人在网上,或者是在一些报告或者ppt上,都看到过类似这种图片 你可能会好奇它是怎么做出来的,如果你会ps,你可能会觉得,这是用ps一步一步制作出来的.是的没错,一开始我也是坚定不移的这么认为. ...
最新文章
- webservice中cxf框架的HelloWord
- 【LeetCode】87. Scramble String
- python 对字典排序
- jdbctemplate mysql 分页查询 返回list对象_spring jdbctemplate调用存储过程,返回list对象...
- Java动态追踪技术--BTrace
- Android Glide图片加载框架(二)源码解析之with()
- Mybatis(14)多表查询
- python中字典的键是唯一的吗_Python怎么通过字典的键和值做一个登录程序?
- eclipse中js中文乱码问题的解决办法
- 【C++】使用setprecision控制输出流显示浮点数的有效数字个数
- sql查询前50条_您必须知道的前50条SQL查询
- 服务端如何防止订单重复支付?
- oracle语句查询时间范围,oracle时间范围查询
- k64 datasheet学习笔记1---概述
- 对团队中“这是某某某的问题”引起的思考
- 成为“高维空间”的人
- 2017年国庆随笔----- 心理学随笔
- android手机 一键还原,安卓手机一键恢复通讯录
- 《算法第一步》出版啦!
- Golang开发入门