以下內容對學習python 寫 DHT爬蟲很有幫助,我的爬蟲已經寫出來了。單是爬磁力鏈只需要幾十行代碼就搞定,不超過30行。但是有好多都是不能下載的,奇怪。。。還有我是內網測試的,內網用戶設置端口映射還是不夠的,如果路由器支持的話,還要啟用dmz主機。路過的朋友,有不懂的歡迎聯系我一起交流 :)
http://www.open-open.com/lib/view/open1408952825697.html
使用 libtorrent 的python綁定庫實現一個dht網絡爬蟲,抓取dht網絡中的磁力鏈接。//這篇文章好像容易實現。https://github.com/blueskyz/DHTCrawler //源文件下載地址
https://github.com/blueskyz/DHTCrawler/blob/master/collector.py
https://my.oschina.net/hopez/blog/305538 //用戶評論
http://www.au92.com/archives/P-y-t-h-o-n-da-jian-B-T-zi-yuan-sou-suo-zhan-si.html
Python搭建BT資源搜索站(四)
http://www.au92.com/category/project/ //這個有5大章節
貌似 libtorrent python 更容易懂
/*
http://stackoverflow.com/questions/32866890/creating-daemon-using-python-libtorrent-for-fetching-meta-data-of-100k-torrents
libtorrent session add_dht_router
session.start_dht()
session.start_lsd()
session.start_upnp()
session.start_natpmp()
http://www.tuicool.com/articles/Z36nauv
磁力鏈接是如何實現下載的?
*/ 這兩篇文章有兩同的地方。
http://outofmemory.cn/code-snippet/16867/libtorrent-from-magnet-link-produce-torrent
libtorrent中從magnet link生成torrent
http://blog.csdn.net/u5a75/article/details/24345359
Python libtorrent提取種子文件中的信息
http://www.rasterbar.com/products/libtorrent/reference-Alerts.html#dht-announce-alert
http://www.njliaohua.com/lhd_8l7m0828xz6msol1o411_1.html
libtorrent API 文檔(中文版)
http://www.libtorrent.org/
http://www.libtorrent.org/reference.html
http://download.csdn.net/detail/q6115759/9673195
python 編寫的DHT Crawler 網絡爬蟲 下載
https://www.v2ex.com/t/253094
請問有沒有使用過 Python 的 libtorrent 庫的前輩?
python-libtorrent-0.16.10.win32 這些第3方包去哪里下載?
https://sourceforge.net/projects/libtorrent/files/py-libtorrent/
軟件包: python-libtorrent (0.16.17-2) //原來帶有rasterbar字樣,就是源碼包
http://packages.tanglu.org/zh-cn/bartholomea/python-libtorrent
python-libtorrent-rasterbar
安裝問題:
libtorrent的一個問題 //有人用msi方式安裝 裝了python-libtorrent-0.16.10.win32.msi
http://bbs.csdn.net/topics/390890988
boost 1.56.0 編譯及使用
http://www.cnblogs.com/zhcncn/p/3950477.html
不要bjam了,讓python與boost更加自由的混搭
https://my.oschina.net/pingf/blog/78924
windows下使用gcc編譯boost庫
http://gas17gas.iteye.com/blog/1361188
基礎研究--libtorrent庫的使用
http://blog.csdn.net/amy_1007/article/details/6541631
使用WireShark進行磁力鏈接協議分析
http://www.tuicool.com/articles/nQJruma
通過bt種子文件獲取 dht節點:
請問一下,在使用BT下載時如何判斷自己是通過Tracker還是DHT?
http://tieba.baidu.com/p/2957763500
//磁力鏈僅需要目標文件的HASH值,就能通過DHT網絡和PEX技術在互聯網上找到此文件
通過磁力鏈接下載的種子是從哪兒來的?
https://www.zhihu.com/question/29473431/answer/133441430
//利用種子下載資源需要服務器BT Tracker,服務器地址保存在種子文件中
site:stackoverflow.com 或者可以找到相關代碼作參考
http://www.cnblogs.com/huangxie/p/5550680.html
python語言磁力搜索引擎源碼公開,基於DHT協議
dht爬蟲 dht客戶端
dht爬蟲 dht服務端
python開發的 dht網絡爬蟲
https://my.oschina.net/hopez/blog/305538
發布一個DHT BT資源爬蟲
http://cnodejs.org/topic/5721610c35af8a704195f4e4
用Python教你如何“養”一只DHT爬蟲
http://developer.51cto.com/art/201402/430007.htm
DHT 公網嗅探器實現(DHT 爬蟲)
http://www.tuicool.com/articles/YvqEfm2
DHT爬蟲:18.4GB種子分析小記
http://www.freebuf.com/articles/database/101110.html
開發一個像btbook.net這樣的搜片神器
http://www.it165.net/pro/html/201403/10303.html
取種子都是從torrage.com之類的種子緩存站點取,這些站點提供了種子列表
http://www.cppblog.com/kevinlynx/archive/2013/07/20/201994.html
請問如何通過 Torrent Hash 下載 torrent 文件?
https://www.v2ex.com/t/148244 //獲取hash值即是獲取到磁力鏈。貌似還要下將“磁力鏈接轉換為種子”再下載,之后獲取種子文件里面的信息。
Python將BT種子文件轉換為磁力鏈的兩種方法
http://www.au92.com/archives/P-y-t-h-o-n-jiang-B-T-zhong-zi-wen-jian-zhuan-huan-wei-ci-li-lian-de-liang-zhong-fang-fa.html //一般都是讀BT文件,獲取里面的信息。簡單來說,就是選中BT種子,右鍵選擇以文本文件.txt打開方式差不多。
使用Python實現BT種子和磁力鏈接的相互轉換
http://www.jb51.net/article/74584.htm
磁力鏈接轉換為BT種子方法
http://blog.sina.com.cn/s/blog_0446dba80101d8ye.html
【P2P網絡】磁力鏈接轉換為種子文件 magnet to torrent
http://blog.csdn.net/xxxxxx91116/article/details/7971134
[轉]通過 BT 種子 Hash 值從 BitComet 服務器上下載種子文件
http://blog.sina.com.cn/s/blog_75fd00010100vsfv.html
根據磁力鏈導出BT種子
http://www.codeclip.com/204.html
http://www.cnblogs.com/cpper-kaixuan/p/3532694.html?utm_source=tuicool&utm_medium=referral //內含工具下載
請問如何通過 Torrent Hash 下載 torrent 文件?
https://www.v2ex.com/t/148244
后續我將結果放入db,外加用tornado做一個簡單的查詢界面
http://www.jb51.net/article/81188.htm //tornado是什么,有待查證。
Python學習筆記(3):Python DHT爬蟲程序
http://blog.sina.com.cn/s/blog_3bf6f3700102w30m.html //就上載別人的源碼,就開始爬了..他運氣真是好,沒有大把的錯誤提示
一步一步教你寫BT種子嗅探器-原理篇
http://blog.csdn.net/shiyanhui66/article/details/52168770 //Go編程語言
python之bt種子,dht網絡共享熱門資源
http://blog.csdn.net/u014649204/article/details/41387081
開博第一篇:DHT 爬蟲的學習記錄
http://www.cnblogs.com/xiejc/p/3727229.html
用Python教你如何“養”一只DHT爬蟲
http://developer.51cto.com/art/201402/430007.htm
dht 磁力源代碼共享, python 語言(不了解請參看磁力百科)
https://www.v2ex.com/t/300870 //里面有說到解釋種子
http://www.tuicool.com/articles/2u26fq7 //同上,但是代碼可讀性高些。
python通過info下載BT種子並分析文件保存到數據庫
http://www.oschina.net/code/snippet_1045335_38278 //再通過一個基於距離關系的查找算法,就可以實現不用挨個遍歷就找到特定的節點
http://www.cnblogs.com/bymax/p/4971116.html
用來比較兩個節點id或者節點id和infohash之間的距離
計算時,從種子文件info字段開始(不包含”info”這四個字節),一直到nodes字段為止(不包含”nodes”這5個字節和nodes前邊表示nodes字段長度的”5:”這兩個字節)
http://www.tuicool.com/articles/3M7v6rI
什么是NodeID和InfoHash
http://www.cnblogs.com/moasd87/p/5573635.html //從這篇文章得出,節點ID和infohash算法都是一樣的,一樣是20字節長度。只不過叫法不一樣。用戶就叫節點ID,資源就叫hash值
一個簡單的dht種子爬蟲
http://www.ren1.tk/2015/04/10/dht_bug/ //使用python的set類型可以非常方便的進行去重。在yahoo搜索:dht爬蟲。發現了該網站
在使用find_node方法之前,我們需要加入到dht網絡當中。如何加入dht網絡呢?我們可以向網絡上那些公共的節點發送find_node請求,這樣,那些公共節點就會給我們回復一些節點的信息,這樣我們就可以獲取到一些節點,然后我們繼續對獲取到的這些節點發送find_node請求,從而認識更多的節點。當認識這些節點后,這些節點也會認識我們自身,所以這些節點在調用get_peers方法和announce_peer方法時,就會發送通知給我們,而我們接收到這些信息后,就可以把這些infohash記錄下來。然后循環這個過程,我們就可以不斷的獲取到很多infohash。
P2P中DHT網絡爬蟲
http://www.cppblog.com/kevinlynx/archive/2013/05/19/200410.html
http://codemacro.com/2013/05/19/crawl-dht/ //聽說這個作者寫得很全面
gayhub: https://github.com/beilunyang/dhtCrawler //他們的代碼通常都會保存或上傳到這網站
http://www.oschina.net/question/1043184_2152410
DHT網絡必須是你先認識一個已知的節點。然后這個節點會告訴你他認識哪些節點
https://www.zhihu.com/question/28235205
也就是說,它必須要通過*某種*途徑來獲得一些已知的節點。
有什么 dht 的入門資料?
http://www.torrentdownloads.me/ //種子下載站