博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络爬虫的 “ 黑洞 ”
阅读量:5932 次
发布时间:2019-06-19

本文共 535 字,大约阅读时间需要 1 分钟。

在遍历型的网络爬虫中。

参考宽度优先遍历

网络爬虫在遍历抓取一张网页的链接时,会出现的情况。

       1 .链接本身可能是一个无限循环,以至于白白的消耗资源。

   2 .看似不同的链接却指向同一个网页。(动态网页)

  例如,一个爬虫来到了一个网站,被指定了一个SessionId,然后嵌入这个ID,爬虫开始在该网站爬取所有页面。另一个爬虫也来到了这个网站,得到了一个全新的SessionId,网站服务器不能探测到这是同源的爬虫,并不知道之前它已经来过。就导致了页面多次索引,浪费了资源。

  那么如何避免此类情况呢?

  :最容易死循环和多次陷入的页面往往是动态页面。

  怎么识别动态网页呢?

       :看URL中是否出现问号,含有问号的就是动态网页,它们的指向往往相同,但是URL中带有一些无关参数,例如时间(在线日历),网络信息,对于此类链接,应当做适合的截取。

  

  很多商业搜索引擎都在避免这些带问号的URL,因为这类URL可能会导致爬虫陷入。(谷歌似乎有合适的解决方案)

附注:其他可参考的方法 

      1 . 限制爬取深度

  2 . Visited表。

  3 . 主题爬虫 : 对特定内容的网页爬取(新闻,音乐等) 。

  4 . 限定爬虫 : 对爬取目标主机限定。

转载地址:http://wmutx.baihongyu.com/

你可能感兴趣的文章
响应式网页布局 - W3Schools How-Tos 01
查看>>
JavaScript HTML DOM
查看>>
浅谈前端路由
查看>>
实现一个平行四边形
查看>>
关于KMP算法的一些个人理解
查看>>
领域驱动设计,构建简单的新闻系统,20分钟够吗?
查看>>
SpringBoot 填坑 | CentOS7.4 环境下,MySQL5.7 表时间字段默认值设置失效
查看>>
thinkphp源码分析(一)—开门篇
查看>>
关于HTML的那些事
查看>>
基于MaxCompute打造轻盈的人人车移动端数据平台
查看>>
进制转换的那些事儿
查看>>
css选择器
查看>>
支付宝工程师创造出了一个可以“拷贝”支付宝的神器
查看>>
egg(92)--egg之商品列表数据渲染
查看>>
力扣(LeetCode)141
查看>>
正则整理
查看>>
区块链应用场景
查看>>
十分钟完成vscode配合Eslint使用
查看>>
Ajax学习笔记
查看>>
CentOS7 下安装 Mysql 8
查看>>