python-爬虫实例(4):获取b站的章若楠的视频
import requests
import json
from bs4 import BeautifulSoup
import time
首先,在B站搜索章若楠,找到其个人主页的URL。假设为:https://space.bilibili.com/xxx
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}
url = 'https://space.bilibili.com/xxx'
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
B站的网页结构会经常更新,因此解析方式需要根据实际情况进行调整。一般来说,我们可以通过以下方式提取视频信息:
# 假设视频列表的class为video-list
video_list = soup.find('ul', class_='video-list')
for video in video_list.find_all('li'):
# 提取视频标题、链接等信息
title = video.find('a', class_='title').text
link = video.find('a', class_='title')['href']
# ... 其他信息提取
print(title, link)
将提取到的视频信息保存到文件或数据库中。可以使用CSV、Excel、JSON等格式保存。
B站的视频通常分多页展示,需要处理翻页逻辑。可以通过分析网页结构,找到下一页的链接,然后继续发送请求。
import requests
from bs4 import BeautifulSoup
def get_zhangruonan_videos(url):
headers = {
'User-Agent': 'Mozilla/5.0 ...'
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parse r')
video_list = soup.find('ul', class_='video-list')
for video in video_list.find_all('li'):
title = video.find('a', class_='title').text
link = video.find('a', class_='title')['href']
print(title, link)
if __name__ == '__main__':
url = 'https://space.bilibili.com/xxx'
get_zhangruonan_videos(url)
注意:
youtube-dl
下载视频。更多提示:
免责声明: 本代码仅供学习交流之用,请勿用于商业用途。请遵守B站的使用协议,尊重版权。