首先打开我们所需要爬取的网站,这里我们挑选的是虎牙直播。

很多人学习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爬取虎牙平台数据相关推荐

  1. python自助电影售票机_手把手教你用python抢票回家过年(代码简单)

    首先看看如何快速查看剩余火车票? 当你想查询一下火车票信息的时候,你还在上12306官网吗?或是打开你手机里的APP?下面让我们来用Python写一个命令行版的火车票查看器, 只要在命令行敲一行命令就 ...

  2. application实现网页计数_手把手教你利用爬虫爬网页(Python代码)

    本文主要分为两个部分:一部分是网络爬虫的概述,帮助大家详细了解网络爬虫:另一部分是HTTP请求的Python实现,帮助大家了解Python中实现HTTP请求的各种方式,以便具备编写HTTP网络程序的能 ...

  3. python如何编游戏_手把手教你用python写游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,项目来自 ...

  4. python预测实例教程_手把手教你用Python库Keras做预测(附代码)-阿里云开发者社区...

    当你在Keras中选择好最合适的深度学习模型,就可以用它在新的数据实例上做预测了.但是很多初学者不知道该怎样做好这一点,我经常能看到下面这样的问题: "我应该如何用Keras对我的模型作出预 ...

  5. python爬虫可以爬取个人信息吗_手把手教你利用Python网络爬虫获取旅游景点信息...

    爬虫系列: 当我们出去旅游时,会看这个地方有哪些旅游景点,景点价格.开放时间.用户的评论等. 本文基于Python网络爬虫技术,以hao123旅游网为例,获取旅游景点信息. 1.项目目标 获取网站的景 ...

  6. python时间序列动图_手把手教你用Python进行时间序列分解和预测

    来源:数据派THU(ID:DatapiTHU) ▔ 作者:Mohit Sharma 翻译:王闯(Chuck) 校对:王可汗 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列预测 ...

  7. python链家网爬虫_手把手教你利用Python网络爬虫获取链家网的房产信息

    点击上方" Python爬虫与数据挖掘 ",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来 ...

  8. python如何训练模型生产_手把手教你用Python构建你的第一个多标签图像分类模型(附案例)...

    你正在处理图像数据吗?我们可以使用计算机视觉算法来做很多事情: 对象检测 图像分割 图像翻译 对象跟踪(实时),还有更多-- 这让我思考--如果一个图像中有多个对象类别,我们该怎么办?制作一个图像分类 ...

  9. python 词云手把手_手把手教你用python制作属于你的第一个词云

    相信很多人在网上,或者是在一些报告或者ppt上,都看到过类似这种图片 你可能会好奇它是怎么做出来的,如果你会ps,你可能会觉得,这是用ps一步一步制作出来的.是的没错,一开始我也是坚定不移的这么认为. ...

最新文章

  1. webservice中cxf框架的HelloWord
  2. 【LeetCode】87. Scramble String
  3. python 对字典排序
  4. jdbctemplate mysql 分页查询 返回list对象_spring jdbctemplate调用存储过程,返回list对象...
  5. Java动态追踪技术--BTrace
  6. Android Glide图片加载框架(二)源码解析之with()
  7. Mybatis(14)多表查询
  8. python中字典的键是唯一的吗_Python怎么通过字典的键和值做一个登录程序?
  9. eclipse中js中文乱码问题的解决办法
  10. 【C++】使用setprecision控制输出流显示浮点数的有效数字个数
  11. sql查询前50条_您必须知道的前50条SQL查询
  12. 服务端如何防止订单重复支付?
  13. oracle语句查询时间范围,oracle时间范围查询
  14. k64 datasheet学习笔记1---概述
  15. 对团队中“这是某某某的问题”引起的思考
  16. 成为“高维空间”的人
  17. 2017年国庆随笔----- 心理学随笔
  18. android手机 一键还原,安卓手机一键恢复通讯录
  19. 《算法第一步》出版啦!
  20. Golang开发入门

热门文章

  1. 用递归实现十进制转换为二进制
  2. 格物致知iOS类与对象
  3. 我玩物丧志,你讲格物致知
  4. 逻辑漏洞学习-身份验证漏洞
  5. 苏州大学计算机专业课872考研真题1999~2022含答案解析 网盘分享
  6. qt android 滑动效果,【转】Qt仿Android带特效的数字时钟源码分析(滑动,翻页,旋转效果)...
  7. IP68遥测终端机(井下遥测终端机)
  8. 公安计算机应用与网络安全,公安计算机信息网络的安全与管理论文原稿
  9. 【报告分享】中国游戏行业盘点洞察数据报告-小葫芦大数据(附下载)
  10. Linux编译内核的详细配置