使用python爬取B站美食类视频数据爬取结果输出为csv文件请给出代码每个文件字段数量与顺序相同:标题:视频标题总播放数:截至数据获取时视频播放量总弹幕数:截至数据获取时视频总弹幕数发布时间:视频发布时间发布者:视频发布者昵称点赞数:截至数据获取时视频收获点赞数金币数:截至数据获取时视频收获金币数收藏量:截至数据获取时视频收获收藏量分享数:截至数据获取时视频收获分享数视频介绍:发布者对视频的介绍
import requests from bs4 import BeautifulSoup import csv
url = 'https://search.bilibili.com/all?keyword=美食&from_source=nav_search_new' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser')
videos = soup.find_all('li', class_='video-item matrix')
data = [] for video in videos: title = video.find('a', class_='title').text.strip() play_num = video.find('span', class_='so-icon watch-num').text.strip() danmu_num = video.find('span', class_='so-icon hide').text.strip() publish_time = video.find('span', class_='so-icon time').text.strip() author = video.find('a', class_='up-name').text.strip() like_num = video.find('span', class_='so-icon like').text.strip() coin_num = video.find('span', class_='so-icon coin').text.strip() collect_num = video.find('span', class_='so-icon collect').text.strip() share_num = video.find('span', class_='so-icon share').text.strip() intro = video.find('div', class_='des hide').text.strip() tags = video.find_all('span', class_='so-icon tags') tag_list = [] for tag in tags: tag_list.append(tag.text.strip()) comment_num = video.find('span', class_='so-icon hide').find_next_sibling().text.strip() data.append([title, play_num, danmu_num, publish_time, author, like_num, coin_num, collect_num, share_num, intro, tag_list, comment_num])
headers = ['标题', '总播放数', '总弹幕数', '发布时间', '发布者', '点赞数', '金币数', '收藏量', '分享数', '视频介绍', '标签', '评论数'] with open('bilibili_food_videos.csv', 'w', newline='', encoding='utf-8-sig') as f: writer = csv.writer(f) writer.writerow(headers) writer.writerows(data
原文地址: https://www.cveoy.top/t/topic/hgIs 著作权归作者所有。请勿转载和采集!