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

我们今天所爬取的数据就是直播名,直播地址,直播的人,观看数以及直播的类别,如下图所示

第一步关于直播的类别,从第一张图片我们可以看到在右边有直播的各种类型,我们只需点击某一个就可以进入相应的直播。

那么我们就按下F12来观察一下

我们发现他们都是在一个标签为a,class属性为recomend-item j_sidebar-recomend-item 的里面,并且里面有一个属性herf,点击进去就是相应的直播。
那么我们就可以使用Beautifulsoup库的find_all方法来找到各个类别的网址及名称,代码如下图所示:

import requests
from bs4 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 in a: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')
1

首先获得主播的名称,在第一个a标签下的img标签的属性alt里,这里我们可以直接用select函数来找img标签即可,代码如下

title = i.select('img')[0]['alt']
1

其次获得网址,直播名,是在第二个a标签下属性href和title,代码如下:

href = i.select('a')[1]['href']
title1 = i.select('a')[1]['title']
12

最后获得观看量,在i标签下由于是数字我们直接用text便可以得到

num = i.select('i',class_ = 'js-num')[3].text
1

最后将他们三者都打印出来,看看运行的效果:

最后附上完整代码:

import requests
from bs4 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 in a:href = i['href']title = i['title']#print(href,title)urls.append([href,title])
for url in urls: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 in a:num = i.select('i',class_ = 'js-num')[3].texttitle = i.select('img')[0]['alt']href = i.select('a')[1]['href']title1 = i.select('a')[1]['title']print(title,href,title1,num)

源码地址

Python爬虫爬取虎牙数据!谁才是虎牙第一主播!相关推荐

  1. python爬虫数据分析可以做什么-python爬虫爬取的数据可以做什么

    在Python中连接到多播服务器问题,怎么解决你把redirect关闭就可以了.在send时,加上参数allow_redirects=False 通常每个浏览器都会设置redirect的次数.如果re ...

  2. Python爬虫爬取疫情数据并可视化展示

    这篇文章主要介绍了Python利用爬虫爬取疫情数据并进行可视化的展示,文中的示例代码讲解清晰,对工作或学习有一定的价值,需要的朋友可以参考一下.编程资料点击领取 目录 知识点 开发环境 爬虫完整代码 ...

  3. python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(一)

    python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(二.数据清洗及存储) 爬起疫情数据,有两个网址: 1.百度:链接 2.丁香园疫情:链接 在这两个中,丁香园的爬虫相对简单一点,所以今天就展示一 ...

  4. Python爬虫爬取网页数据并存储(一)

    Python爬虫爬取网页数据并存储(一) 环境搭建 爬虫基本原理 urllib库使用 requests库使用 正则表达式 一个示例 环境搭建 1.需要事先安装anaconda(或Python3.7)和 ...

  5. python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(二)

    上一章: python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(一.爬虫思路及代码) 第三步:数据清洗 清洗数据很简单,就是数据太乱的话,就得花些时间,所以一定要有一个好的方法,才能避免在清洗数据 ...

  6. java爬虫抓取nba_利用Python爬虫爬取NBA数据功能实例分享

    Python实现爬虫爬取NBA数据功能示例 本文实例讲述了Python实现爬虫爬取NBA数据功能.分享给大家供大家参考,具体如下: 爬取的网站为:stat-nba.com,这里爬取的是NBA2016- ...

  7. python爬网站数据实例-利用Python爬虫爬取NBA数据功能实例分享

    Python实现爬虫爬取NBA数据功能示例 本文实例讲述了Python实现爬虫爬取NBA数据功能.分享给大家供大家参考,具体如下: 爬取的网站为:stat-nba.com,这里爬取的是NBA2016- ...

  8. python爬虫爬取的数据与浏览器获取的数据不一样 爬虫爬取到的数据一直不变

    具体问题 在爬取某个网站时遇到了一个奇怪的问题,就是只要是python爬取的数据得到的基本就是那么几种数据,无论我输入的是什么,返回的数据与浏览器得到返回的数据都不一样,这让我很郁闷,百度也找不到想要 ...

  9. python如何爬虫网页数据-python爬虫——爬取网页数据和解析数据

    1.网络爬虫的基本概念 网络爬虫(又称网络蜘蛛,机器人),就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序. 只要浏览器能够做的事情,原则上,爬虫都能够做到. ...

  10. python爬虫爬取天气数据并图形化显示

    前言 使用python进行网页数据的爬取现在已经很常见了,而对天气数据的爬取更是入门级的新手操作,很多人学习爬虫都从天气开始,本文便是介绍了从中国天气网爬取天气数据,能够实现输入想要查询的城市,返回该 ...

最新文章

  1. 梦心日记本V2.0完工
  2. oracle中表空间的相关操作
  3. AnalogClock的使用(一)
  4. mysql query sql_sql:query 标签
  5. TCP/IP入门(3) --传输层
  6. tomcat源码分析_CVE-2020-9484 tomcat session反序列化漏洞分析
  7. 近 45 亿元拿下开源服务器 Nginx,F5 买断应用交付未来?
  8. Android开发者应该深入学习的10个开源应用项目[转]
  9. 转:Scrapy(爬虫框架)入门教程
  10. matlab设计光栅,光栅原理及MATLAB仿真.doc
  11. 20个高权重的博客列表
  12. 顺丰科技架构升级之路
  13. 云端体验鸿蒙,AI加持的另类彩电之华为智慧屏带你体验鸿蒙
  14. Linux进程管理四大工具ps \dstat\ top\ htop
  15. 浪潮服务器维修报价,浪潮服务器报价网
  16. 网校系统搭建的功能你知道几个?
  17. 关于PDR和P2DR两个网络安全模型
  18. 金融危机,教你从网络上找到一份好兼职
  19. 【C++探索之旅】开宗明义+第一部分第一课:什么是C++?
  20. 如图一显示了用计算机模拟,(全套打包)北京市各区2017年中考模拟试题汇编·数学...

热门文章

  1. DB2 HADR 监控详解
  2. 羽毛球正反手握拍动作要领[羽球入门]
  3. 喜讯:恭喜法大大、爱数、休恩、腾领等多家伙伴通过 SAP 集成方案认证
  4. Service 莫名启动解决方案
  5. GIAC深圳站 | 2018年不可错过的全球互联网架构大会!
  6. Android中四大组件(四大天王)
  7. 解决青龙python依赖安装失败问题
  8. svn add 如何增加子目录下的未受控文件
  9. 视频播放器的新选择——Mplayer WW编译版
  10. Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type ‘application/x-ww