python爬虫爬取bilibili网页基本内容
用爬虫爬取bilibili网站排行榜游戏类的所有名称及链接:
导入requests
、BeautifulSoup
import requests from bs4 import BeautifulSoup
然后我们需要插入网站链接并且要解析网站并打印出来:
e = requests.get('https://www.bilibili.com/v/popular/rank/game') #当前网站链接 html = e.content soup = BeautifulSoup(html,'html.parser') #解析html print(soup)
我们可以看到密密麻麻的代码函数,但不太简洁明了,我们去优化一下
继续插入如下代码这个代码是可以爬取我们想要的类,可以更简介的简化代码
div_people_list = soup.find('ul', attrs={'class': 'rank-list'}) #爬取ul类class为rank-list下的数据
可以看到还是不够简介:
继续插入如下代码:
ca_s = div_people_list.find_all('a', attrs={'class': 'title'}) #爬取a类class为title下的数据
可以看到链接及主题都提取出来了,但还是有瑕疵:
我们加入这行代码挨个打印并提取标题及链接,由于链接提取出来的是//www.bilibili.com/video/BV1yZ4y1D7ef
前面没有http:点击进去会出现错误,所有我们需要在前面加入http:进行连接在一起打印
for t in ca_s: url = t['href'] name = t.get_text() print(name+'\t点击链接直接观看链接:'+f'http:{url}')
可以看到我们的标题及连接都爬取出来了
完整代码:
import requests from bs4 import BeautifulSoup e = requests.get('https://www.bilibili.com/v/popular/rank/game') #当前网站链接 html = e.content soup = BeautifulSoup(html,'html.parser') #解析html div_people_list = soup.find('ul', attrs={'class': 'rank-list'}) #爬取ul类class为rank-list下的数据 ca_s = div_people_list.find_all('a', attrs={'class': 'title'}) #爬取a类class为title下的数据 #挨个传输到t,然后打印数据 for t in ca_s: url = t['href'] name = t.get_text() print(name+'\t点击链接直接观看链接:'+f'http:{url}')
到此这篇关于python爬虫爬取bilibili网页基本内容的文章就介绍到这了,更多相关python爬取bilibili网页内容内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
赞 (0)