QQ空间数据导出及显示。
- 导出日志、留言板、相册、说说等数据。
- 将说说、相册中的图片及视频下载至本地。
- 以网页形式显示本地数据,可在浏览时自动下载图片及视频。
- 支持 Exif 信息写回照片,时间写入文件名。(由Yang-z及greysign提供)
导出数据
usage: exporter.py [-h] [--blog] [--msgboard] [--photo] [--shuoshuo] [--like]
[--download] [--all]
optional arguments:
-h, --help show this help message and exit
--blog 导出日志数据
--msgboard 导出留言板数据
--photo 导出相册数据
--shuoshuo 导出说说数据
--download 下载图片或视频至本地
--all 导出所有数据
显示数据
usage: displayer.py [-h] [--download]
optional arguments:
-h, --help show this help message and exit
--download 当本地不存在图片、视频时,尝试下载至本地
- target_uin 需要导出数据的QQ号。
- self_uin 用于登录空间的QQ号。
- cookies_value
从浏览器登录QQ空间,按
F12
,点击Network
选项卡,点击QQ空间“我的主页“,点击XHR
,点击main_page_cgi
请求,从Header
中找出cookie
,如图所示。 - g_tk
可通过 cookies_value 中的
p_skey
计算,选填。
登录QQ需要有访问目标QQ空间的权限。
target_uin/
blog/
日志分类/ // 譬如:个人日志
日志正文.html
日志评论.json
msg_board/
每20条留言分为1个json文件
photo
相册名_相册id/
downloaded/ // 保存下载的数据
照片数据
评论数据
相册信息.json
downloaded.txt // 已下载的url
to_download.txt // 待下载的url及文件名
shuoshuo/
downloaded/
downloaded.txt
to_download.txt
shuoshuo_tid.txt // 保存说说的tid
每40条说说分为1个json文件
main_page.json // 日志、相册、说说的数量
like_information.json // 保存点赞数据
- 数据以json格式保存,可通过网页显示主要数据。
- 导出的数据是登录账号可见的数据,“仅主人可见”等数据无法获取。
- 导出的视频链接有时效性,超时无法访问。
- 如果相册图片数量较多并且未下载至本地时,网页显示会比较慢。
- requests
- bs4
- Python ≥ 3.6
- piexif(Exif 信息写回)
- Flask(网页显示)
# exporter.py
# 根据需要设定以下变量
target_uin = "需要导出数据的QQ号"
self_uin = "登录空间的QQ号"
cookies_value = "从浏览器获取"
g_tk = "从浏览器获取" # 可选,会尝试通过 cookies 计算
q = QzoneExporter(self_uin, g_tk, cookies_value, args, target_uin)
q.export()
命令行中运行
python exporter.py --blog
python exporter.py --photo
python exporter.py --download
或
python exporter.py --photo --download
python displayer.py [--download]
具体使用参考 photo_exif_recover.py
内的说明。
- 某些图片通过sharpP格式传输,无法打开。
- 进度的保存。
- 由于数据未抓取到本地、不想写等原因,网页显示时忽略了一些无关紧要的数据。
- 未能完全测试所有情况,因此网页显示时可能会出现某些错误。
- 2019.10.06 新增: 日志增加转载标记(需要额外获取数据,更早版本无法显示)
- 2019.09.22 修复: 长说说未获取全文
- 2019.06.16 修复: 说说第九张之后的图片未处理
- 2019.05.30 修复: 某些情况下说说中的视频被判断为图片。
- 2019.05.10 新增: 网页显示,多线程下载;废弃: 下载超时设置,点赞数据抓取;修复: 文件名可能非法
- 2018.08.04 修复: 无法获取分类视图的相册。
- QQ 空间爬虫之爬取说说 感谢这篇博客提供的思路。
- QQ空间 网页显示本地数据时使用的样式与布局均来自于QQ空间。
GPL-3.0,额外条件:禁止商用。
如果您认为该项目在一定程度上帮助了您,可以赞赏我:D