图论与网络爬虫

 

广度优先搜索 Breadth-First Search (BFS)

深度优先搜索 Depth-First Search (DFS)

 

网络爬虫:

从任何一个网页出发,用图的遍历算法,自动访问每个网页并把它们存储起来,完成这个功能的程序叫Web Crawlers.

 

构建网络爬虫的工程要点:

1、在有限时间里最多的爬下最重要的网页:

      重要:首页。再扩大爬虫,从首页扩展链接。-----类似BFS

     爬虫的分布式结构 和 网络通信的握手成本 有关。握手:下载服务器和网站的服务器建立通信的过程,这个过程需要额外时间。下载完一个网站才能再下载下一个网站------类似DFS

    网络爬虫的遍历不是简单地BFS or DFS,有一个相对复杂的 下载优先级排序的方法----调度系统,同时存在一个优先级队列 Priority Queue。

2、页面的分析和URL的提取。

      页面解析出URL比较复杂,需要模拟浏览器运行一个网页,才能得到里面隐含的URL。

3、记录哪些网页已经下载过的小本本——URL表。

     采用哈希表,好处是,判断一个网页的URL是否在表中,平均只需要一次(或者略多的)查找。

     问题:哈希表会很大,一个服务器存储不下。

                多台服务器会对哈希表访问与维护,哈希表服务器的通信工作为瓶颈。

     解答:明确每台下载服务器的分工,调度时看到某个URL就知道交给哪台服务器去下载。

                明确分工之后,判断URL是否可以下载可以采用批问询和批处理,减少通信次数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值