python爬虫获取数据,python怎么爬虎牙_Python爬虫爬取虎牙数据!谁才是虎牙第一主播!

 2023-09-25 阅读 50 评论 0

摘要:首先打开我们所需要爬取的网站,这里我们挑选的是虎牙直播。我们今天所爬取的数据就是直播名,直播地址,直播的人,观看数以及直播的类别,如下图所示python爬虫获取数据,第一步关于直播的类别,从第一张图片我们可以看到在右边有直播的

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

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

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

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

我们发现他们都是在一个标签为a,class属性为recomend-item j_sidebar-recomend-item 的里面,并且里面有一个属性herf,点击进去就是相应的直播。

爬虫 Python,那么我们就可以使用Beautifulsoup库的find_all方法来找到各个类别的网址及名称,代码如下图所示:

import requests

from bs4 import BeautifulSoup

python爬虫网页,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()

python有什么用,r.encoding = r.apparent_encoding

html = BeautifulSoup(r.text,'html.parser')

a = html.find_all('a',class_ ='recomend-item j_sidebar-recomend-item')

python爬虫教程?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].text

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

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

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

print(title,href,title1,num)

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/101585.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息