目录
前言
环境使用
- Python 3.8
- Pycharm
模块使用
- import requests
- import csv
- import datetime
- import hashlib
- import time
一. 数据来源分析
- 明确需求
明确采集网站以及数据
网址: https://space.bilibili.com/517327498/video?tid=0&pn=2&keyword=&order=pubdate
数据: 视频基本信息: 标题 播放量 评论 弹幕 上传时间 …
2. 抓包分析
- 打开开发者工具: F12 / 右键点击检查选择network
- 点击网页下一页 --> XHR 第一条数据包就是我们需要的内容
数据包: https://api.bilibili.com/x/space/wbi/arc/search?mid=517327498&ps=30&tid=0&pn=3&keyword=&order=pubdate&platform=web&web_location=1550101&order_avoided=true&w_rid=c9a9f931486961175b1e8138d695680e&wts=1690027894
二. 代码实现步骤 <固定四个大步骤>
-
发送请求, 模拟浏览器对于url地址发送请求
-
获取数据, 获取服务器返回响应数据
-
解析数据, 提取我们需要的数据内容
-
保存数据, 把信息数据保存表格文件
获取视频详情数据
1. 发送请求, 模拟浏览器对于url地址发送请求
# 模拟浏览器
headers = {
# 用户代理 表示浏览器基本身份信息
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
string = f'keyword=&mid=517327498&order=pubdate&order_avoided=true&platform=web&pn=1&ps=30&tid=0&web_location=1550101&wts={
int(time.time())}6eff17696695c344b67618ac7b114f92'
# 实例化对象
md5_hash = hashlib.md5()
md5_hash.update(string.encode('utf-8'))
# 请求链接
url = 'https://api.bilibili.com/x/space/wbi/arc/search'
# 请求参数
data = {
'mid': '517327498',
'ps': '30',
'tid': '0',
'pn'<