有没有办法下载自己的私信来存档?
Twitter API将调用限制为最新的 200 个 DM,它们无法下载完整存档以进行更长的对话。
official Twitter Archive似乎根本不包含这些消息。大多数第三方服务(您可能无论如何都不想让他们访问您的消息)将使用 api,他们能做的最好的事情就是经常轮询,以免错过 200 DM 的限制。
还有其他方法可以从 twitter 获取消息吗?回滚网站似乎可行,但他们总是以小步骤加载较旧的消息,然后从那里复制和粘贴也会产生相当丑陋的结果。
不需要完整的twitter-api信息,只要句柄、时间和消息(可能是媒体链接,如果可能的话)都应该可用。
最佳答案
我创建了一个 tool ( https://github.com/Mincka/DMArchiver ) 下载我的直接消息,还可以下载上传的图片、视频和 GIF(作为 MP4)。
因为不依赖API,所以可以下载200多条消息。该脚本只是模拟二甲基精氨酸描述的“滚动方法”并解析结果。
主要思想是通过使用有效的 auth_token
cookie 值调用以下 URL 来循环发出请求以进行身份验证并解析 json 响应:
https://twitter.com/messages/with/conversation?id=1337&max_entry_id=1337
第一个请求不需要 max_entry_id
值。您需要在响应中使用 min_entry_id
变量的值作为每次后续迭代中的新 max_entry_id
以获得接下来的 20 条较旧的推文。当 max_entry_id
不在 json 响应中时,您处于线程的开头。
还需要一些 header 才能从 Twitter 获得正确的响应:
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0'
'Accept': 'application/json, text/javascript, */*; q=0.01'
'X-Requested-With': 'XMLHttpRequest'
目前,该工具的输出仅作为 IRC 类 对话提供,但我可能会在未来添加其他输出样式(HTML、JSON、XML...)。
关于api - 存档来自 Twitter 的直接消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34441775/