2013-03-10 126 views
8

我有一个torrent_info_hashes列表。对于每个info_hash,我都有一个与info_hash相对应的跟踪器列表。python http/udp bittorrent tracker scrape library

我想要做的就是刮掉列表中的每个跟踪器,以获得播种机/监测器/完成计数。然而,我宁可不试图自己写这个,因为我确信这段代码已经在其他地方实现了。

有没有人知道一个可以抓取http://和udp://跟踪器的python库?

我一直在使用libtorrent作为这个项目的其他部分,但是它只能从一个有效的torrent_handle中刮掉一个跟踪器(并且我不想将这些info_hashes添加到libtorrent会话中以便刮掉跟踪器,因为它将开始下载我不想要的文件)

回答

10

我并不想使用libtorrent,因为它效率非常低 - 我希望能够一次查询多个info_hashes的跟踪器,而不是一个。

我结束了写我自己的Python HTTP/UDP跟踪器刮代码,在这里看到:https://github.com/erindru/m2t/blob/master/m2t/scraper.py(改进最欢迎!)

+0

这可以让您的IP地址的对等列表/播种机列表? – 2013-11-13 01:53:06

+0

不,目前不关心,但可以扩展到这样做 – 2013-11-13 03:59:01

+0

好的,谢谢。还有一个问题,我看到http期望一个字典(bencoded),因此它得到的数据。然而,udp恰恰抵消了缓冲区,你怎么知道字节的顺序以及它们代表什么,所以如果我需要对等体的IP地址在什么偏移量上呢?有没有文件? – 2013-11-13 04:52:55

1

这不是直接回答你的问题,而是你如何使用libtorrent的建议。

如果将信息散列添加到暂停的非自动管理状态(由add_torrent_params中的标志控制)。在这种情况下,libtorrent不会开始下载它。

请记住,libtorrent不(但)支持刮DHT。