哪位朋友知道用java如何实现网络爬虫和搜索引擎的技术,说说原理最好附带代码 十分感谢 好的话可以追加分
4个回答
展开全部
heritrix抓取网页
网页解析的有很多就不说了,不过最好自己写
lucene索引
首先爬虫是需要一个处理器链的,网页的抓取并非几十行代码就能实现的,因为有很多问题出
现。
1.获取网页:判断网页编码,计算网页正文位置,获取页面内url(url的过滤、缓存、存储这部分还需要线程池的优化),url的分配、及线程池的启动。
2.网页持久化。网页解析,网页中样式表、图片等下载以及网页的保存(xml和html)网页快照的生成。
3.网页的消重去噪:去掉没用的网页,如果是垂直搜索引擎则需要更多的判断,可以利用内容模板和空间向量的算法实现。
4.索引的建立及优化,主要是简历倒排索引。
你的分类基本上可以用内容模板和空间向量计算实现。
还有其他很多东西,一时间不能说细了。你想做到什么程度。(比如:空间向量的算法及结果的参考值、网页内容模板的建立。)
网页解析的有很多就不说了,不过最好自己写
lucene索引
首先爬虫是需要一个处理器链的,网页的抓取并非几十行代码就能实现的,因为有很多问题出
现。
1.获取网页:判断网页编码,计算网页正文位置,获取页面内url(url的过滤、缓存、存储这部分还需要线程池的优化),url的分配、及线程池的启动。
2.网页持久化。网页解析,网页中样式表、图片等下载以及网页的保存(xml和html)网页快照的生成。
3.网页的消重去噪:去掉没用的网页,如果是垂直搜索引擎则需要更多的判断,可以利用内容模板和空间向量的算法实现。
4.索引的建立及优化,主要是简历倒排索引。
你的分类基本上可以用内容模板和空间向量计算实现。
还有其他很多东西,一时间不能说细了。你想做到什么程度。(比如:空间向量的算法及结果的参考值、网页内容模板的建立。)
展开全部
你想知道爬虫的实现机制还是爬虫的实现策略?
爬虫的实现机制太简单了,httpconn抓取url的string,然后就是获取meta中的关键字或正文内容,然后就是一些列的字符串处理,然后。。。。
爬虫的实现策略这个才是精髓,这个没人能告诉你,永远只有更好的。
用java搞这个想干嘛呢?
爬虫的实现机制太简单了,httpconn抓取url的string,然后就是获取meta中的关键字或正文内容,然后就是一些列的字符串处理,然后。。。。
爬虫的实现策略这个才是精髓,这个没人能告诉你,永远只有更好的。
用java搞这个想干嘛呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先利用网络编程方式获取到url对应的HTML字符串的返回,这个你可以通过JDK的Socket编程完成。如果考虑麻烦的话,你可以试试Apache的HttpComponents库,这个库已经对HTTP协议下的很多操作做了封装。
拿到返回的HTML字符串后,利用对字符串信息的处理,也就是对整个HTML文档信息的整理,将信息入库,这个是Web语义。并且根据算法,将当前HTML中的超链接信息找到,根据这个信息再去找下一个资源,依次类推。无非是广度优先遍历还是深度优先遍历的问题。
我也是随便说一个思路。仅供参考。
拿到返回的HTML字符串后,利用对字符串信息的处理,也就是对整个HTML文档信息的整理,将信息入库,这个是Web语义。并且根据算法,将当前HTML中的超链接信息找到,根据这个信息再去找下一个资源,依次类推。无非是广度优先遍历还是深度优先遍历的问题。
我也是随便说一个思路。仅供参考。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询