微博下载工具使用指南
概述
此工具使用 Playwright 自动化浏览器来下载微博内容,包括:
- 支持下载微博收藏、本人微博、他人微博
- 图片(支持九宫格排列,支持多种尺寸:360px、480px、690px、2000px、原图 large)
- 视频(可选下载, 默认最高质量)
- 长文章(可选下载)
- Markdown 双向链接 - 在保存的 Markdown 文件中添加"前一条"和"下一条"导航链接,方便浏览
请正确使用本技能,用于微博收藏、个人数据备份或者关注博主的内容备份保存。不能用于大规模的商业数据采集。
前置要求
- Python 环境:需要 Python 3.8+
- 依赖安装:
pip install playwright playwright install chromium
Script Directory
Determine this SKILL.md directory as {baseDir}.
| Script | Purpose |
| ----------------------------- | ------------------------------ |
| weibo_favorites_4skill.py | Main python script entry point |
使用流程
- 检查 {baseDir}/cookies.json 文件是否存在, 或 {baseDir}/user_data_dir or user input user_data_dir 是否存在且包含有效的用户数据
- 如果用户cookies数据不存在,或者用户没有提供 target url, 则提示用户: 我将运行script以打开浏览器,请在60秒内完成登录,并进入需要下载的页面:收藏页 / 本人主页 / 他人主页。
- 完成提示后再使用命令脚本下载微博收藏内容, 第一次下载可以用无参数运行快速得到预览结果。
- 如果用户提供--url参数, 且用户cookies数据存在,则参照日常使用命令示例,不提示用户直接运行下载脚本。
- 运行完成后,提示用户输出目录的具体位置
注意 : 如果不存在/cookies.json,或者用户没有提供 target url, 一定不能直接运行下载脚本, 你要分两步, 先提示用户再运行。
常用命令示例
首先提示用户在60秒内完成登录,并进入需要下载的页面:收藏页 / 本人主页 / 他人主页。 完成提示后再使用命令脚本下载微博收藏内容, 第一次下载可以用无参数运行快速得到预览结果。 如果用户提供--url参数, 且{baseDir}/cookies.json 文件存在,则推荐使用headless 模式。
基础使用(下载10条记录,360px图片, 不下载视频, 推荐给用户首次使用,可以快速得到预览结果)
python {baseDir}/weibo_favorites_4skill.py
注: 不提供output-dir参数,默认输出到skill脚本所在目录下的output目录。
日常使用(推荐配置, 推荐给用户后续的日常使用,headless 模式,下载600条记录包括高清图片,视频,长文章, 跳过已存在的记录 )
python {baseDir}/weibo_favorites_4skill.py \
--image-size large \
--download-video \
--download-article \
--max-download 600 \
--skip-existing \
--headless
参数说明
| 参数 | 说明 | 默认值 |
| ------------------ - | ------------------------------ | --------------------------------------- |
| --url | 目标微博用户主页或收藏页面URL | https://weibo.com |
| --max-download | 最大下载数量 | 10 |
| --skip-existing | 跳过已存在的记录 | False |
| --image-size | 图片尺寸:360/480/690/2000/large | 360 |
| --download-video | 下载视频到本地 | 开关参数,不需要指定值,无此参数则只保留视频链接 |
| --download-article | 下载长文章到本地 | 开关参数,不需要指定值,无此参数则只保留文章链接 |
| --batch-size | 分批次每次下载记录数 | 20 |
| --headless | 无头模式(不显示浏览器) | 开关参数,不需要指定值,无此参数则显示浏览器窗口 |
| --user-data-dir | 浏览器用户数据目录 | 无此参数默认使用 cookies.json |
| --output-dir | 自定义输出目录 | python脚本所在目录下的output目录 |
输出目录结构
output/
├── pictures/ # 图片目录
│ └── {record_id}/ # 每条微博的图片
├── videos/ # 视频目录
├── articles/ # 长文章目录
│ └── pictures/ # 文章中的图片
└── {author}_{date}_{id}.md # 微博内容Markdown文件
工作流程
- 启动浏览器:根据参数选择启动方式
- 检查登录状态:如需要登录,提示用户手动登录
- 滚动页面:自动滚动加载更多微博
- 提取数据:解析微博内容、图片、视频链接
- 下载资源:下载图片、视频到本地
- 生成 Markdown:保存微博文本和图片引用
注意事项
- 首次登录:不能使用 headless 模式,需要看到浏览器窗口进行登录
- 登录状态:建议定期更新 cookies 或用户数据目录,避免登录过期
- 下载限制:微博可能有反爬限制,建议合理设置下载数量
- 网络环境:确保网络可以正常访问微博
- 存储空间:下载大量高清图片和视频需要足够的磁盘空间
故障排除
登录问题
- 检查网络连接
- 尝试删除 cookies.json 或 browser_data 目录重新登录
- 确保没有开启 VPN 或代理导致访问异常
下载失败
- 检查磁盘空间
- 检查目录权限
- 尝试降低
--max-download数量
浏览器启动失败
- 确保已运行
playwright install chromium - 检查系统是否支持 Chromium 运行
微信扫一扫