MiningCattiva / x-spider

A spider for X (Twitter)
https://miningcattiva.github.io/x-spider/
GNU General Public License v3.0
1k stars 70 forks source link

无法完整抓取所有媒体内容 #21

Closed chromacle closed 6 months ago

chromacle commented 7 months ago

检查清单

问题描述

已多次重复尝试,也更换过不同推主进行尝试,问题实际存在。 示例:一位推主发布过1169个媒体,但实际能抓取到的只有927个。 通过网页查看媒体,能刷新到的最老的图,也是x-spider能抓取到的最老的图。 但可以通过高级搜索 twitter.com/search-advanced 查看到往前时间的图片其实是存在可查看的,未被隐藏屏蔽。 所以1169个媒体应该是实际都存在的,以目前普通方式无法全部查看并抓取。

复现步骤

1.推主发布过1169个媒体,但实际能抓取到的只有927个,抓取到的最老的且网页刷新可查看到的最老的图是同一张 是2017年发布的 1 3

2.通过高级搜索可以查看到同一推主以前如2016年的推文、图片等 16年

期望行为

希望未来有机会能改进新增抓取方式以完整抓取所有内容。

其他信息

MoyuScript commented 7 months ago

测试了下这个 API,可能无法使用:

  1. 这个 API 一次只能抓取部分内容(搜索条件:(from:shiratamacaron) since:2023-01-01,实际内容太少,且无法分页,表现为在推特媒体页向下滑动很快就到底部了)。
  2. 返回的结果日期是乱序的,并不一定是最新日期在前。
  3. 即使每次只指定抓取一个月的内容,也无法判断是否已经爬取完毕了,如果某个月什么都没发,可能会返回空列表。
chromacle commented 7 months ago

感谢大佬回复,目前看来确实如您所说。 可否建议先新增一个以这个API为基底逐个按月份如 (from:sakamoto_AHR) until:2016-01-01 since:2015-12-01 (from:sakamoto_AHR) until:2016-02-01 since:2016-01-01 …… 类推抓取的功能。 当前没有其他的解决方法,这样总好过没有。

MoyuScript commented 7 months ago

感谢大佬回复,目前看来确实如您所说。 可否建议先新增一个以这个API为基底逐个按月份如 (from:sakamoto_AHR) until:2016-01-01 since:2015-12-01 (from:sakamoto_AHR) until:2016-02-01 since:2016-01-01 …… 类推抓取的功能。 当前没有其他的解决方法,这样总好过没有。

只有指定开始日期才能用这个 API,不然不知道抓到哪里算抓完了,根据总媒体数可能也不太行,我怕推特有 bug 导致这个数字不准。

之后再看看要不要加吧,这个 API 表现的行为很怪异,加上怕出其他问题。

MoyuScript commented 7 months ago

看了眼推特貌似可以获取账号的注册时间,如果没有指定日期范围的话开始日期应该是可以设置为注册时间的,之后再试试看。

kanaelovekano commented 6 months ago

据说单纯是API限制 最多看到3200个推文?

kanaelovekano commented 6 months ago

我看某个人的推文 只能看到2019年10月 她是2016注册的 但是用Google搜还能搜到他的 16年贴文

MoyuScript commented 6 months ago

这个 API 太不稳定了,不打算加上了,每次请求结果都有可能不一样,实在是难绷