为了账号安全,请及时绑定邮箱和手机立即绑定

网络蜘蛛问题,大家指教下

网络蜘蛛问题,大家指教下

慕妹3242003 2018-11-01 01:46:13
我想利用利用Lucene.net做个网路蜘蛛。主要想利用Lucene.net创建索引,数据采集的工作自己开发完成。现在有些问题请教大家:蜘蛛采集的数据存放在数据库中还是存放在哪里,我打算放在数据库中,哪个性能上好些呢?蜘蛛为什么要下载网页呢?我看每个蜘蛛都有下载文件的功能,但是不清楚为何一定要下载网页呢?边解析html边往数据库中存不行吗?希望高手赐教。谢谢
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

存入数据库就可以了,一般的蜘蛛没有太大必要实现自己的存储方案,但注意最好不要使用轻量级的数据库产品,吞吐量比较差。

下载网页是必须下的,不下下来怎么分析内容嘛。你的意应该是指下载后的网页数据没必要保存起来吧?是这样的,可以直接对网页代码进行分析,然后将分析后的数据储存起来就行了,没有需要的话就不用保存网页。

通常蜘蛛需要拥有的功能:

漫游:在各个网页间爬行,需保证如无特殊需求时不要重复爬一个页、不要绕在死胡同里出不来。

下载数据:下载爬到的网页源代码,如有需要的话,还可以下载其附属的资源文件,如图片等。

分析与存档:这个功能可以做成委托或事件,由调用者来配置具体的分析方式,并决定如何处理源数据与分析后的数据,这样可以保证蜘蛛的通用性。

 

另外蜘蛛一般都是多线程并行处理的,所以可能还需要一个线程调度程序,用以给每个线程委派任务,并避免冲突;也可以让每个线程彼此独立地自己维护自己的任务,比如将每个线程限定在不同的域名中,让它们只爬自己辖区内的网页,就不会有冲突问题。


查看完整回答
反对 回复 2018-11-01
  • 2 回答
  • 0 关注
  • 373 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信