Spider的概念

搜索引擎蜘蛛并不是真正意义上的蜘蛛,它只是搜索引擎指派出的一个有调度机制的抓取程序,用于抓取互联网中的网页,根据搜索引擎的不同,spider也会有不同的分类,但是大部分的spider都是解决相同的问题,有着相同的工作原理。

Spider的分类 

批量型spider,此类型的spider具有明确的抓取范围和目标,抓取时间、抓取数量限制,或抓取固定范围页面的限制,当spider的工作达到预先设置的目标就会停止,我们一般自己用工具或程序采集的工具,所派出的spider一般就属于批量型的spider,只抓取固定网站的固定内容,或者对某一资源设置固定的目标抓取数量限制。

垂直型spider,垂直spider也可以称为聚焦爬虫,只对特定主题、特定内容或特定行业的网页进行抓取,一般都会聚焦在某一个限制范围内进行增量的抓取,此类型的spider不像增量型spider一样追求大而广的覆盖面,而是在增量型spider上增加一个抓取网页的限制,根据需求抓取含有目标内容的网页。

增量型spider是一种比较通用的爬虫,这类爬虫的目标和批量型spider的目标不同,它们不需要尽可能的抓取更多的网页,增量型spider主要工作是对已经抓取到的页面进行再次的抓取和更新,因为互联网中的网页是不断变化的,网页上的内容可能会随着时间发生随时发生改变,增量型spider就负责抓取不断被更改更新的网页,抓取后并返回给搜索引擎的预处理系统进行处理,重新计算该页面的权值。

Spider抓取网页的策略

搜索引擎把蜘蛛分为这么多的类型,每个类型的spider都有它们各自的作用,如何协调这些spider进行协同工作,就需要搜索引擎有强大的spider抓取策略,因为互联网中的网页是无穷无尽的,每天都会产生数以百万的网页,优秀搜索引擎的抓取策略也决定了它是否能为用户提供高效的查询服务。

首先搜索引擎会把网页进行分类抓取,分为已抓取页面、待抓取页面、可抓取页面、暗网页面、这些页面是搜索引擎抓取网页和存储的基本方式。

搜索引擎在面对不同类型网站的时候,会使用不同的抓取策略机制,常见的深度优先策略、广度优先策略,这些策略的实施和抓取都是通过搜索引擎的调度机制来控制的。

深度优先即沿着当前网页被优先发现的链接一直顺着抓取下去,直到该链接页面没有其它页面的链接,spider才会再次返回来抓取原来第一批发现页面上的另外一个链接,依次这样抓取循环下去。

广度优先的策略一般在新站上的体现比较明显,spider在一个页面上发现多个链接时,会先把该页面抓取一遍,然后再抓从这些页面上提取下来的链接,把链接放入到待抓取URL列表,在返回抓取原页面上的其它链接页面,重复上述步骤先抓取当前页面的全部链接,放入到待抓取URL列表,依次这样持续循环抓取下去。

如何识别虚假百度蜘蛛

为什么会有虚假的百度蜘蛛呢?比如我们用爱站或者ChinaZ来模拟百度或者谷歌蜘蛛分析网页,那这种蜘蛛就是假的蜘蛛。还有一种就是通过程序来模拟,比如python脚本就可以模拟,那么如何识别呢?

我们知道蜘蛛访问网站,后台都有日志来记录的,至此我们就可以通过网站访问日志,找出相应的IP,但是一个一个去查找效率太低,这里推荐一款光年日志分析工具。它是由杭州光年信息技术有限公司开发的一款网站日志分析软件,可分析iis和apache等日志。

当我们找到异常IP以后,这时候怎么去查询是不是百度蜘蛛的IP呢?我们需要用到Windows系统自带的cmd命令,如图,假如IP地址是117.136.45.119,这时候我们用nslookup命令,然后空格,再右击粘贴IP地址,最后回车,就能看到具体的IP信息了。

我们看到名称显示为中国移动的地址,当然这里我只是拿了自己手机IP举了例子来说明。还有人问识别虚假百度蜘蛛有什么作用?

第一我们可以用它来分析网站有没有被收录,看日志文件里面又有百度蜘蛛,此时就需要分析这些蜘蛛是真的还是假的。因为百度蜘蛛访问具有阶段性。

第二,如果我们遇到了小偷程序采集自己的网站时,就可以分析日志来判断。通过网站访问日志,找出对方的IP,然后封锁掉,小偷程序基本都在服务器上,所以ip相对是固定的。

相关SEO问题

有一个页面,使用js做了跳转,蜘蛛抓取,是抓取该页面,还是抓取js跳转后的页面,还是两个页面都抓取呢?谢谢老师,新人!

江苏SEO回复

通常两个都会抓取。但如果JS比较复杂,搜索引擎蜘蛛不一定执行,也就不一定能看到跳转,就无法抓取跳转后的页面了。搜索引擎一般只执行很简单的JS。或者第一个页面权重太低,搜索引擎蜘蛛不一定会跟踪下去。所以要想做正常的跳转,不建议用JS。一般都是作弊才用JS跳转,搜索引擎觉得可疑的话,也经常根本不跟踪跳转。
 
如果都抓取了,通常是索引跳转后的页面内容。

本文来源:https://www.jppbj.cn/blog/117.html