3分钟上手B站数据爬取:InfoSpider让你的Python爬虫效率提升10倍
你还在为手动整理B站数据而烦恼?想分析UP主粉丝增长却不知从何下手?本文将带你使用InfoSpider爬虫工具箱,3分钟内搭建起专业的B站数据采集系统,无需复杂编程基础,全程可视化操作,轻松获取并分析粉丝数据。读完本文你将掌握:
- 快速配置InfoSpider的B站爬虫模块
- 自动化获取UP主粉丝增长趋势
- 数据导出与基础分析技巧
为什么选择InfoSpider爬取B站数据?
InfoSpider是一款开源的爬虫工具箱,专为普通用户设计,无需编写复杂代码即可实现数据采集。项目结构清晰,各数据源独立封装,其中B站爬虫模块Spiders/bilibili/main.py采用面向对象设计,核心功能通过BilibiliHistory类实现,支持历史记录和用户信息的批量获取。
项目已提供完整的官方文档docs/QuickStart.md,包含详细的环境配置步骤。与传统爬虫相比,InfoSpider具有以下优势:
- 安全透明:所有代码开源可审计,避免数据泄露风险
- 即插即用:无需配置代理池和验证码识别,开箱即用
- 多源整合:除B站外,还支持知乎、网易云音乐等20+平台
准备工作:3步完成环境配置
1. 克隆项目仓库
git clone https://gitcode.com/GitHub_Trending/in/InfoSpider
cd InfoSpider
2. 安装依赖包
项目依赖已整理在requirements.txt中,执行以下命令一键安装:
pip install -r requirements.txt
3. 获取B站Cookie
- 打开浏览器访问B站官网并登录
- 按F12打开开发者工具,切换到"网络"标签
- 刷新页面,找到任意以
api.bilibili.com开头的请求 - 复制请求头中的
Cookie字段值
实战操作:5分钟爬取UP主数据
运行B站爬虫模块
在项目根目录执行以下命令启动B站数据采集:
python Spiders/bilibili/main.py
程序会自动弹出文件选择对话框,选择数据保存路径后开始采集。核心采集逻辑在get_all_bili_history方法中实现,默认每页获取200条记录,最多爬取10页数据:
def get_all_bili_history(self):
headers = self.get_header()
history = []
for page_num in range(self.MAX_PAGE): # MAX_PAGE=10
url = 'https://api.bilibili.com/x/v2/history?pn={pn}&ps={ps}'.format(pn=page_num, ps=self.PAGE_PER_NUM)
result = self.req_get(headers, url)
if not result['data']: # 无数据时停止爬取
break
history.append(result)
return history
数据保存与查看
采集完成后,数据将以JSON格式保存到指定目录,包含两个文件:
bilibili_history.json:观看历史记录user_info.json:用户基本信息
数据结构示例:
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [
{
"aid": 123456789,
"title": "Python爬虫入门教程",
"author": "编程学习UP主",
"view_at": 1620000000
}
]
}
数据可视化:用Excel快速分析粉丝趋势
数据格式转换
- 使用Python内置的
json模块解析数据:
import json
with open('bilibili_history.json', 'r', encoding='utf-8') as f:
data = json.load(f)
- 提取关键字段并保存为CSV格式:
import csv
with open('bilibili_data.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['视频标题', 'UP主', '观看时间'])
for item in data[0]['data']:
writer.writerow([item['title'], item['author'], item['view_at']])
创建趋势图表
用Excel打开CSV文件,插入折线图即可直观展示观看频率趋势。对于进阶分析,可使用项目中的测试分析模块tests/DeepAnalysis/,该模块提供了数据清洗和模型训练功能。
常见问题与解决方案
爬取速度过慢
修改Spiders/bilibili/main.py中的MAX_PAGE参数(默认10),减少爬取页数:
self.MAX_PAGE = 5 # 仅爬取前5页数据
数据为空或报错
- 检查Cookie是否过期,建议重新获取
- 确认网络连接正常,避免VPN干扰
- 查看错误日志,路径为
logs/error.log
导出格式转换
项目提供了extension/js/FileSaver.js工具,支持将JSON数据导出为Excel格式,可在浏览器中直接使用。
总结与进阶建议
通过InfoSpider的B站爬虫模块,我们实现了从环境配置到数据可视化的全流程操作。该工具不仅适用于个人数据备份,还可用于市场调研和竞品分析。进阶用户可尝试:
- 扩展爬虫功能:修改
get_header方法添加自定义请求头 - 实现定时爬取:结合tools/main.py中的任务调度模块
- 多平台数据整合:同时运行知乎Spiders/zhihu/main.py和B站爬虫
收藏本文,下次需要分析B站数据时直接对照操作。关注项目README.md获取最新更新,如有问题可提交Issue或参与社区讨论。
提示:本工具仅用于个人数据备份,请勿用于商业用途或频繁请求导致服务器负载过高。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
请把这个活动推给顶尖程序员😎本次活动专为懂行的顶尖程序员量身打造,聚焦AtomGit首发开源模型的实际应用与深度测评,拒绝大众化浅层体验,邀请具备扎实技术功底、开源经验或模型测评能力的顶尖开发者,深度参与模型体验、性能测评,通过发布技术帖子、提交测评报告、上传实践项目成果等形式,挖掘模型核心价值,共建AtomGit开源模型生态,彰显顶尖程序员的技术洞察力与实践能力。00
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
MiniMax-M2.5MiniMax-M2.5开源模型,经数十万复杂环境强化训练,在代码生成、工具调用、办公自动化等经济价值任务中表现卓越。SWE-Bench Verified得分80.2%,Multi-SWE-Bench达51.3%,BrowseComp获76.3%。推理速度比M2.1快37%,与Claude Opus 4.6相当,每小时仅需0.3-1美元,成本仅为同类模型1/10-1/20,为智能应用开发提供高效经济选择。【此简介由AI生成】Python00
Qwen3.5Qwen3.5 昇腾 vLLM 部署教程。Qwen3.5 是 Qwen 系列最新的旗舰多模态模型,采用 MoE(混合专家)架构,在保持强大模型能力的同时显著降低了推理成本。00- RRing-2.5-1TRing-2.5-1T:全球首个基于混合线性注意力架构的开源万亿参数思考模型。Python00



