GitHub

您所在的位置:网站首页 最新推特安装包提取码 GitHub

GitHub

2024-07-14 00:40| 来源: 网络整理| 查看: 265

twitter-media-downloader 推特媒体文件下载工具

用于下载推特页面中包含的媒体文件(支持文本, 图片, 视频, 动图)的脚本工具, 使用推特网页版的 api 获取数据

支持输入如下两种种格式的链接:

https://twitter.com/***/status/*** (推文) https://twitter.com/*** (推主主页, ***为推主 id, 用于批量爬取) donate 赞助

作者开发维护不易, 若喜欢本项目, 欢迎前往 爱发电 支持作者

tips 提示 获取到的媒体文件默认下载到路径下的 twitter_media_download 文件夹 锁定的推主/推文必须设置 cookie 才能爬取, 设置完成后, cookie自动保存, 下次运行程序会自动读取 下载文件名格式: {推主 id}_{推文 id}_{服务器文件名}, 例如 memidesuyo_1441613758988574723_FAGkEkFVEAI8GSd.jpg 默认使用系统代理,无需配置 (仅 win 平台, 其余平台请手动设置) 爬取视频文件时, 会自动选择最高分辨率下载, 图片文件则自动选择原图画质 支持爬取推文文本, 自动保存为{推主 id}_{推文 id}.txt 若出现任何问题/提意见&需求, 请前往 issue 反馈 程序的默认配置文件路径: linux: ~/tw_media_downloader.conf ; win: %HOMEPATH%/tw_media_downloader.conf usage 使用方法

直接运行程序: 运行后根据提示输入 命令 或 推文/推主链接即可.

python3 twitter-media-downloader.py

命令行调用:

usage: twitter-media-downloader.py [-h] [-c COOKIE] [-p PROXY] [-u USER_AGENT] [-d DIR] [-v] [url [url ...]] positional arguments: url tw url to gather media, must be like: 1. https://twitter.com/***/status/*** 2. https://twitter.com/***(/media) (user page, *** is user_id) # 2. will gather all media files of user's tweets optional arguments: -h, --help show this help message and exit -c COOKIE, --cookie COOKIE set cookie to access locked users or tweets, input " " to clear -p PROXY, --proxy PROXY set network proxy, must be http proxy, input " " to clear -u USER_AGENT, --user_agent USER_AGENT set user-agent, input " " to clear -d DIR, --dir DIR set download path -v, --version show version dev note 开发记录

关于 TODO#15: 原本想通过程序内 subprocess.run 再调用的方式传参, 实现交互模式(即无参直接运行脚本)的参数输入, 但考虑到实际需要的参数并不多, 为不影响脚本的上手门槛, 遂放弃此方案, 现版本交互模式仅支持设置 cookie

发现有个同名的插件, 而且还更好用, 故本项目停止开发. (发现自己的脚本还是有点优势的, 继续开发吧)

(插件地址: 谷歌插件商店)

废弃 TODO#9, 因为考虑到脚本的主要耗时是下载而非解析数据, 故用 TODO#22 作为替代

TODO 待实现需求 支持 cmd 传参调用 (完成) 支持爬取视频/动图文件 (完成) 支持批量爬取推主所有媒体 (完成) 下载进度显示 (完成) 分模块重构代码方便后续开发 (完成) 支持手动设置 UA 和代理 (完成) 支持设置 cookie 用于爬取锁推 (完成) 完善程序错误 log 导出 (完成, 现会在崩溃后写入完整 log 到文件) 批量爬取时输出进度记录, 并在程序异常退出重启后导入进度继续下载 (废弃) 在文件名前添加推文 id, 方便定位推文 (完成) 支持自定义下载路径 (完成) 提供推文 id 转推文 url 功能 (完成) 提供语言设置(中/英), 翻译text.py提示文本和readme 页面 退出时保存 UA/代理/cookie 到配置文件, 下次运行程序自动读取设置 (完成) 在直接运行程序的交互模式下加入 cookie,下载路径,代理的设置命令 (完成) 添加自动更新功能&CI 自动编译 (完成) 废弃推文 id 转 url 功能, 并将下载文件的格式设置为: {推主 id}_{推文 id}_{服务器文件名} (方便定位推文 url) (完成) 添加自定义关键字/正则表达式, 提取推文中的 url 链接 (废弃, 由 TODO#23 替代) 添加媒体文件的筛选提取功能(例如 仅图片, 仅视频) 添加推主转载推文的媒体提取功能 (废弃, 转载推文没有独立的获取接口) 优化启动逻辑, 启动时网络检查失败不再强制跳出程序 (完成) 下载文件时跳过目标路径下已存在的文件, 避免重复下载 (完成) 添加爬取推文文本内容的功能(可选参数) (完成) 使用多线程并发下载多个文件, 提高下载速度(可选线程并发数) 已知 UserMedia api 会把已删除的推文一起返回, 占用 count, 导致爬取内容不完整, 尝试修复 (完成) 支持输入空配置项(例如cookie设置), 用于重置对应配置 (完成, cookie, proxy, ua均已支持) 配置cookie时添加完整的cookie校验, 防止输错cookie导致接口返回403 (已修复, 其实是正则写错导致cookie解析错误) userMedia接口老是缺数据, 将批量爬取的逻辑改为从userMedia提取tw_id, 然后丢到singlePageTask去执行 preview 预览

批量下载:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3