搭建自己的专属磁力搜索站点之[构建DHT爬虫]
来源:互联网 发布:java读取文本文件内容 编辑:程序博客网 时间:2024/04/30 00:50
前段时间想找个资源,然后就发现一些BT种子磁力搜索的站点,然后就琢磨着怎么自己搭建一个这样的站点。终于经过不屑的努力终于搭建OK了,现将自己研究学习的过程记录下来分享给大家,同时也顺便整理下自己的知识学习体系,该系列分享文章分为三部分:
第一, 构建DHT爬虫
第二, 建立磁力链接索引
第三, 搭建搜索入口即搜索网站
有想搭建的朋友请继续往下,先一睹为快吧,看看我搭建的站点效果如何:http://bearbt.com . 好了下面进入正题,搭建磁力搜索站点的第一要务就是获取磁力链接信息。磁力链接的获取是通过不断爬取DHT网络获得的,如果不太了解DHT网络原理的话请参考此博客:http://blog.csdn.net/mergerly/article/details/7989281,我在这里就不搬砖了。了解DHT原理后,我们可以认识到 DHT协议得到peer信息后会向他之前查询过的节点发送通知,根据这点,我们就可以构造自己的磁力链接爬虫。这也是爬虫最核心所在。具体思路流程总结如下
1. 伪装成正常的DHT网络节点加入DHT网络,
2. 不断接受peer信息,并不断伪装成发送peer信息节点的好友,以接受到更多的种子信息
3. 解析peer信息并请求资源下载保存磁力链接信息
伟人都说自己是站在巨人的肩膀上起来的,我也是。在自己动手码代码之前搜索了下相关爬虫通过对比找到了一个不错的DHT爬虫:https://github.com/fanpei91/p2pspider,其将获取的链接信息解析并生成种子保存在本地文件,我们磁力搜索站点不需要将其解析生成种子保存,稍作修改即可直接将磁力链接保存在数据库,以备后面索引搜索。
那么如何安装运行爬虫呢,我以linux系统举例说明,其他系统大同小异。爬虫是用nodejs编写的,安装过程如下:
1. 搭建nodejs运行环境
a. 去nodejs官网下载新版的nodejs解压到本地;https://nodejs.org/en/
b. npm安装,新版nodejs集成了npm 无需单独安装
c. 配置环境变量
2. 运行爬虫
a. 在爬虫目录下执行命令 npm 下载安装爬虫程序需要的组件
b. 执行命令 nodejs index.js 即可运行爬虫
建议放在外服务器测试,本地测试需要配置路由器端口转发.
下图是我不到10天爬取了200多万条数据,到此DHT爬虫搭建完毕.
爬虫抓取到的数据如何高效的被前台搜索到? 面对几百万甚至上千万的数据记录查询,如果只是通过数据库提供的接口的进行搜索查找,那无疑是不现实的.
下篇文章分享如何为这百万数据建立高效的索引以便前端网站快速搜索,
请关注五枫的博客: http://www.wolfoot.com
请尊重原创转载请注明出处.
- 搭建自己的专属磁力搜索站点之[构建DHT爬虫]
- 一个dht网络的“磁力链接”搜索python代码
- 一个dht网络的“磁力链接”搜索python代码
- 一个dht网络的“磁力链接”搜索python代码
- 一个dht网络的“磁力链接”搜索python代码
- 一个dht网络的“磁力链接”搜索python代码
- 纯C#实现的DHT爬虫和磁力搜索引擎 - btcherry.com
- 基于DHT网络的磁力搜索引擎上线
- 使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)[搜片神器]
- 打造自己的专属游戏(传奇私服搭建)
- 搭建自己专属的vpn——选择一个vps
- 【杂谈】搭建了一个自己的专属域名邮箱。
- Ubuntu 14.04 64bit上磁力链爬虫dht部署指南
- 磁力搜索
- DHT网络爬虫的实现
- DHT 爬虫的学习记录
- DHT 爬虫的学习记录
- 利用nutch-1.2和Lucene 搭建自己的搜索平台, Apache Mahout 构建社会化推荐引擎
- Arraylist源码分析
- 前端大牛对学习前端的建议
- js面向对象的继承--拷贝,类式继承,原型继承
- MQTT入门篇
- Performing stop of activity that is not resumed:使用AndroidAnnotations的常见注意事项
- 搭建自己的专属磁力搜索站点之[构建DHT爬虫]
- JavaEE程序启动多线程
- 常量字符串,字符串变量——存储位置
- 扩增子图表解读4曼哈顿图:差异分类级别Taxonomy
- request session
- git 一些命令操作
- c++primer关联容器中的“单词转换map程序”分析
- MySQL创建用户
- 区间树状数组