有没有办法下载自己的直接消息来存档它们?
在Twitter的API限制调用最新的DM 200,不能下载一个完整的归档更长的对话.
在官方Twitter存档似乎不包含在所有的消息.大多数第三方服务(你可能不想让他们访问你的消息)将使用api,他们能做的最好的事情是经常轮询,不要错过200 DM的限制.
还有其他方法可以从Twitter获取消息吗?滚动回网站似乎有效,但他们总是以较小的步骤加载旧邮件,并从那里复制和粘贴也会产生相当难看的结果.
它不需要完整的twitter-api信息,只需处理,时间和消息(如果可能的话,可能是媒体链接)应该可用.
我创建了一个工具(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响应中时,您处于线程的开头.
一些标题也需要从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 ...).