网络爬虫原理

1.抓取网页,通过对某一网站主页进行分析,然后选择其上面的所有链接,然后把这些网址加入到要下载的队列中
2.加入到队列时,可以宽度优先,也可以深度优先,一般情况下,是宽度优先,一般搜索引擎只抓取,网站的前三层网页,
他们认为超过三层的网页,一般网页质量不高。
3.多线程技术,爬虫是很注得效率的,所以一般采取多线程或多进程技术,用多线程访问维护下载队列,
把所有要下载的网址加入到队列中去,每一个线程依次从队列中取出网址进行下载,当然队列的访问是互斥的。
4.程序中断处理,一般情况下网络爬虫会因为网络的不确定性,会经常中断,weblech的做法,设置一时间间隔,然后对队列进行
状态进行维护,然后启进行下载。(本人认为最好再加入超时判断,可以舍弃掉超时的网页,以防止程序中断)。
5.防止对同一网址多次下载,一般会把所下载过的网址写入hash表中去,从而来避免下载同一网页。
6.像baidu,,google等著名搜索引擎,肯定都是分布式的,这个设计更有难度了,呵;但weblech不是分布式的,也相对简单些。
7.过虑网址,可以设urlMatch的值对网址进行过滤,也就网址中必须出现子串urlMatch,也就是更好定制网址。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值