python爬虫详解——爬取bilibili网页基本内容

Posted 小木_.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫详解——爬取bilibili网页基本内容相关的知识,希望对你有一定的参考价值。

python爬取基本内容

用爬虫爬取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网络爬虫爬取静态数据详解

Python爬虫基础讲解(二十六):scrapy.Spider

python爬取百度搜索页面,得到内容不全,求教,why

Python爬虫之无法获取网页源码的解决方案详解

Python爬虫之无法获取网页源码的解决方案详解

如何用爬虫爬取网页上的数据