前段时间空闲时间比较多,又迫于想看的美剧找不到合适的资源,于是萌生了为何不自己实现一个DHT爬虫来获取磁力/种子资源搭建一个属于自己的文件索引库呢?

说做就做,要想做磁力爬虫就要先了解一下什么是DHT协议。 这里我找了几篇文档方便大家对DHT有一定的了解;

官方文档 BEP_05

【一步一步教你写BT种子嗅探器】原理篇

【一步一步教你写BT种子嗅探器】DHT篇

如何用java实现一个p2p种子搜索

总的来说,实现DHT爬虫就是要将自己伪装成一个DHT网络中的某一节点,然后不断地去认识新的节点(find_node),并响应来自其他节点的请求做出相应的处理,其他节点的请求为(get_peers 不可信infohash,announce_peer 可信infohash) 时就可以获取到infohash值,然后用infohash获取种子并解析种子内数据就可以完善我们的索引库啦

前段时间空闲时间比较多,又迫于想看的美剧找不到合适的资源,于是萌生了为何不自己实现一个DHT爬虫来获取磁力/种子资源搭建一个属于自己的文件索引库呢?说做就做,要想做磁力爬虫就要先了解一下什么是DHT协议。 这里我找了几篇文档方便大家对DHT有一定的了解;官方文档 BEP_05【一步一步教你写BT种子嗅探器】原理篇【一步一步教你写BT种子嗅探器】DHT篇如何用java实现一个p2... [code=java] public static Map<String, String> createLinkMap(String RequestQueryString) { Map<String, String> map = new java.util.HashMap<String, String>(); String qs = RequestQueryString; if (qs != null) { String[] params = qs.split("&"); if (params != null) { for (String param : params) { if (param != null && param.trim().length() > 0) { int index = param.indexOf("="); if(index>-1) { String key = param.substring(0,index); String value =""; if(index+1 <= param.length()) { value = param.substring(index+1); map.put(key, value); return map; [/code] 磁链转种子,种子转磁链 wangpeiwenfl: