日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于 DHT 网络的磁力链接和BT种子的搜索引擎架构

發布時間:2024/8/1 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于 DHT 网络的磁力链接和BT种子的搜索引擎架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上周開發了一個磁力鏈接和 BT 種子的搜索引擎 {Magnet & Torrent},本文簡單介紹一下主要的系統功能和用到的技術。

系統包括幾個獨立的部分:

  • 使用 Python 的 Scrapy 框架開發的網絡爬蟲,用來爬取磁力鏈接和種子;

  • 使用 PHP CI 框架開發的簡易網站;

  • 搜索引擎目前直接使用的 MySQL,將來可以考慮使用 sphinx;

  • 中文分詞。

    用 PHP 寫了一個簡陋版的基于逆向最大匹配算法的小類,詞庫呢,哈哈,直接使用了 Chrome 的分詞表,分詞表可以在這個地址下載:http://www.mdbg.net/chindict/chindict.php?page=cedict。

  • 新詞發現機制

    基于搜索關鍵詞的新詞發現機制。

    目前詞庫方面還有一個很大的問題,比如最新的電影無法分詞,例如星際穿越 會被分詞為“星際”和“穿越”,因此“被偷走的那五年,穿越火線,極速蝸牛,了不起的蓋茨比,摩登年代,星際迷航,喬布斯傳。”也出現在了搜索結果中。

    當然這也不算事大問題,但是霍比特人卻被分詞為了“霍”、“比特”、“人”了,好在搜索結果里面沒有啥東西亂入。這些屬于過度分詞,通過增加詞庫內容可以解決,因此準備些一個豆瓣爬蟲,將豆瓣的所有電影都加入詞庫,用來輔助分詞。

  • 資源別名

    這會使我們的系統更加智能,更加人性化。我們在百度搜索時,經常會遇到這樣的情況,當我們搜索“開核桃利器”,百度提示我們“您要找的是不是諾基亞?”。當我們搜索“世界上最好的語言”,百度提示我們“您要找的是不是PHP?”。同樣,當用戶搜索“星際穿越”時,應該為用戶提供Interstellar的匹配結果。

    我們不用實現復雜的在線翻譯,只需要繼續爬取豆瓣,將電影的中英文都做成對照表就可以了。而且,為了考慮到某些宅男的特殊需求,我們還需要做一個日語的對照表。

  • 英文分詞

    英文還需要分詞?空格不就是詞語邊界嗎?你有這樣的譯文很正常,我最初也是這么想的,因此英文只是簡單的使用了 PHP 的 explode(' ', $query) 函數。

    但是我剛才(2015-02-01 21:59:35)看搜索日志時發現了一些問題,今天 xart 關鍵詞被搜索了 169 次,而 x-art 關鍵詞僅僅被搜索了 54 次,但是 x-art 才是它的官方名詞啊(不要問我為什么知道的這么多)。因此我剛剛調整了一下代碼,將 xart 和 x-art 統一定向到了 x-art。

  • BitTorrent 低版本最初使用 Python 開發,而且是開源的,因此很多類庫都是直接使用的 BitTorrent 的,也有一些類庫和輔助函數直接移植到了 PHP 平臺上;(Petru Paler 寫的 bencode 太贊了,老婆問我:你為什么跪著寫代碼?)

了解 P2P 原理的人都知道,BT 不需要中心服務器,因為每個節點既是客戶端,同時也是服務器,因此基于 0x0d 大神的 dhtfck 寫了一個 DHT 爬蟲,它偽裝為 DHT 網絡中的一個節點,這樣當其他客戶端想下載某個 torrent 時,就會在 DHT 網絡發起廣播,當它詢問到我的節點時,我就知道了:哦,原來有人要下載這個種子啊,那么在 DHT 網絡中肯定有這個種子。于是我把這個種子的信息保存到 MySQL 中。

以上 DHT 的整個過程可以具體看看 DHT 協議。

注意:我只是保存了 torrent 的 infohash 信息,用這個信息,可以構建一個磁力鏈接,但是卻還沒有得到種子文件,我們還得通過其它方式取得種子文件。

Python 的爬蟲程序是主動出擊,盲目尋找。在互聯網的海量網頁中尋找種子和磁力鏈接。而 DHT 爬蟲則變成了被動等待,當別人來詢問時,就把它的詢問結果記錄下來,如果一個種子被詢問了很多次,則說明這個種子是一個熱門種子,這是 Python 爬蟲無法做到的。

由于 BitTorrent 開源版本使用的 Python,因此我的 DHT 爬蟲也使用了 Python。作為一個服務器,肯定要使用 twisted 框架,熟悉 nodejs 的同學一定知道這個框架的特性:異步網絡 IO,雖然大部分開發者都是通過 nodejs 才了解了異步 IO,但是 twisted 要比 nodejs 早了 N 年。

當前運行的爬蟲是一個非常簡陋的版本,是我一周前寫的一個多線程的基于 Socket 的 DHT 服務器。截至到寫這篇文章時,已經運行了 6 天了,總共收集到了 45,234,859 個磁力鏈接。

總結

以上是生活随笔為你收集整理的基于 DHT 网络的磁力链接和BT种子的搜索引擎架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 不卡视频在线观看免费 | 成人在线观看18 | 免播放器在线视频 | 精品视频久久久久久久 | 制服丝袜在线视频 | 亚洲无码精品一区二区三区 | 亚洲天天干 | 日韩无| 激情91| 国产精品a久久久久 | 性xxxx视频播放免费 | 爱情岛论语亚洲入口 | 丁香九月婷婷 | 少妇高潮一区二区三区在线 | 一级人爱视频 | 福利视频一二区 | 男人影院在线观看 | 性感美女一区二区三区 | 一区二区三区在线 | 久草福利网 | 无码日韩精品一区二区 | 爱情岛论坛永久入址在线 | 能在线观看的av网站 | 农村村妇真实偷人视频 | 欧美成人性生活 | 日本免费在线观看视频 | 日本黄色片视频 | 亚洲国产天堂av | 天天躁日日躁狠狠躁伊人 | 日韩精品首页 | 涩涩涩涩涩涩涩涩涩涩 | 亚洲 自拍 另类 欧美 丝袜 | 疯狂做爰高潮videossex | 本站只有精品 | 欧美操大逼| 无遮挡又爽又刺激的视频 | 操丝袜美女视频 | av网站黄色| 无码免费一区二区三区免费播放 | 欧美精品乱码久久久久久 | 日韩欧美亚洲一区二区 | 国产精品jizz在线观看老狼 | 成人美女视频 | 中文字幕久久综合 | 国产午夜免费视频 | 欧美 日韩 视频 | 久久中文在线 | 久免费一级suv好看的国产 | 淫视频在线观看 | 天堂资源在线播放 | 神宫寺奈绪一区二区三区 | 羞羞的网站在线观看 | 亚洲欧美精品aaaaaa片 | 五月色婷婷综合 | 西方裸体在线观看 | 免费操| 国产伦精品一区二区三区视频我 | 日韩黄色大片 | 深夜福利91| 免费又黄又爽又色的视频 | 欧美体内谢she精2性欧美 | 不卡视频一区 | 中文字幕视频一区二区 | 麻豆短视频 | 久久538 | 麻豆91av| 亚洲国产成人在线观看 | 性生活在线视频 | 三级视频在线 | 免费的毛片 | 催眠调教艳妇成肉便小说 | 亚洲国产成人在线观看 | 日韩视频网址 | 一区二区天堂 | www.国产视频| 日本性爱视频在线观看 | gav在线 | 正在播放木下凛凛xv99 | 91尤物国产福利在线观看 | 国产裸体永久免费视频网站 | 美女在线国产 | 国产一级片麻豆 | 147人体做爰大胆图片成人 | 日韩视频免费在线播放 | 一区二区免费在线播放 | 国产色网站 | 久久丁香| 亚洲精品国产a | 第色| 中文字幕一区二区三三 | 看av免费毛片手机播放 | 亚洲视频一区二区三区在线观看 | 欧美男女啪啪 | 黄色av网页 | 手机av在线免费 | 经典杯子蛋糕日剧在线观看免费 | 成人午夜剧场视频网站 | 国产色婷婷一区二区三区竹菊影视 | 无码h黄肉3d动漫在线观看 |