我正在制作一个类似于海盗湾、Kickass.to等的bittorrent跟踪器/网站。有必要在索引和torrent页面中检索torrent统计信息(种子、下载(。示例:
http://kat.cr/ubuntu-15-04-vivid-vervet-desktop-amd64-iso-final-t10550003.html
种子选手:3442名Leechers:148名
如果torrent正在使用我的跟踪器,那么很容易快速检索两个页面的数据。然而,如果torrent使用不同的跟踪器,我需要从所述跟踪器中抓取它的统计数据(向它发出请求(,但这通常需要几秒钟的时间来处理每个torrent,显然,我不能让用户等那么久才能看到列表。
我制作了一个脚本,可以抓取后台运行的最新90条洪流,但我担心这还不够。这个网站会成长起来,总的浏览量可能会超过5000次。我不认为在后台刮那么多洪流会起作用。
我该怎么做?
以下获取统计信息的策略可用,按效率降序列出:
- 通过刮取接口进行完全刮取-过去很常见,但由于其造成的流量,现在在大型追踪器上已经不那么常见了
- 通过自定义导出URL进行完全抓取-您必须询问跟踪器管理员。有时记录在他们的网站上
- UDP多刮
- 通过
/scrape?info_hash=A&info_hash=B&info_hash=C
的HTTP多抓取-有些跟踪器支持它,有些则不支持 - http单刮
- DHT刮伤
- 加入群体并通过PEX进行测量
当开放跟踪器使用http
时,通常可以按照Tracker的"scrape"约定进行完全刮取
现在,当跟踪器使用UDP
时,就不可能再进行完整的刮擦了。
作为一种选择,一些开放式跟踪器在他们的网站上发布完整的摘要:
- http://coppersurfer.tk/->完整.tar.gz
-
http://leechers-paradise.org/->staticscrape.gz或staticscrape
-
http://www.blackunicorn.xyz->scrape.gz
其他跟踪器可以根据请求提供或不提供对这样的文件的访问。