欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python爬虫实战之对B站排行榜前100作品的名称及地址获取

程序员文章站 2023-03-25 08:53:56
怎么将小破站的每日实时排行榜作品及地址爬取下来?打开B站,点击B站作品排行榜进入排行榜鼠标右击检查源码,找到作品对应的源码位置,此时我们知道作品在代码的相应大致位置。接着在Pycharm里导入requests、BeautifulSoupimport requestsfrom bs4 import BeautifulSoup因为作品对应的大致位置在div块(class= ‘info’),因此用find_all查找所有作品的此位置。url = 'https://www.bilibili.c...

怎么将小破站的每日实时排行榜作品及地址爬取下来?

打开B站,点击B站作品排行榜进入排行榜
Python爬虫实战之对B站排行榜前100作品的名称及地址获取
鼠标右击检查源码,找到作品对应的源码位置,此时我们知道作品在代码的相应大致位置。
Python爬虫实战之对B站排行榜前100作品的名称及地址获取
接着在Pycharm里导入requests、BeautifulSoup

import requests
from bs4 import BeautifulSoup

Python爬虫实战之对B站排行榜前100作品的名称及地址获取
因为作品对应的大致位置在div块(class= ‘info’),因此用find_all查找所有作品的此位置。

url = 'https://www.bilibili.com/v/popular/rank/all'
res = requests.get(url)	# B站不用获取headers伪装头
name_list = []	
b_list = BeautifulSoup(res.text, 'lxml').find_all('div', class_='info')
print(b_list)

此时,得到了info中的源代码
Python爬虫实战之对B站排行榜前100作品的名称及地址获取
我们需要的作品和地址也在其中,所以需要第二次获取,设置变量q对代码进行遍历。用一开始创建的空列表name_list接收,设置kind放地址href。

for q in b_list:
    name_list.append(q.a.text)
    kind = q.find('a')

最后,进行排序展示。

for i, x in enumerate(name_list):
    print(i+1, x+"\t"+'地址:'+kind['href']+'\n')

Python爬虫实战之对B站排行榜前100作品的名称及地址获取
爬取成功!顺序依次为序号+作品名称+地址。

本文地址:https://blog.csdn.net/JasonZ227/article/details/109962293