python爬取https://www.bilibili.com/v/popular/all的up主名字、标题、播放量和评论
时间: 2023-08-21 07:05:27 浏览: 164
Python爬取微信公众号评论点赞等相关信息
使用 Python 爬取 Bilibili 热门视频的 UP 主名字、标题、播放量和评论,可以按照如下步骤进行:
1. 使用 requests 库获取网页的 HTML 代码。
2. 使用 BeautifulSoup 解析 HTML 代码,获取视频列表标签。
3. 遍历视频列表标签,提取视频的 UP 主名字、标题、播放量和评论信息。
4. 将提取到的数据存储到文件或数据库中。
下面是一个示例代码,将数据存储到 CSV 文件中:
```python
import requests
from bs4 import BeautifulSoup
import csv
url = "https://www.bilibili.com/v/popular/all"
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
videos = soup.find_all('li', class_='video-item')
with open('result.csv', mode='w', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['UP主', '标题', '播放量', '评论数'])
for video in videos:
title = video.find('a', class_='title').text.strip()
play_count = video.find('span', class_='play').text.strip()
author_name = video.find('a', class_='up-name').text.strip()
url = video.find('a', class_='title')['href']
comment_count = get_comment_count(url)
writer.writerow([author_name, title, play_count, comment_count])
def get_comment_count(url):
# 解析评论数量
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
comment_count = soup.find('span', class_='comment-count').text.strip()
return comment_count
```
在解析函数中,我们定义了一个 `get_comment_count` 函数,用于解析视频的评论数量。在主函数中,我们使用 CSV 模块将数据存储到 CSV 文件中。
运行脚本后,将会在当前目录下生成一个名为 `result.csv` 的文件,其中包含了热门视频的 UP 主名字、标题、播放量和评论信息。
阅读全文