Scrapy-redis可以通过Redis数据库实现分布式爬虫,其天然具备断点续爬的功能。因为在使用Redis作为调度器和去重器时,所有的请求、URL队列和爬取过的数据都被存储在Redis数据库中,而Redis具有持久化存储的功能,因此在Scrapy-redis中实现断点续爬就非常简单了。只需要在重新启动爬虫之后,从Redis中加载上一次爬虫运行的状态,即可从上次停止的地方继续爬取数据。这种方式不仅可以保证爬虫的可靠性和稳定性,还可以提高爬虫的效率。
主爬虫主要负责发现新的网页。一个网页在新索引建立之后,马上会被主爬虫发现。如果一个网页建立索引需要经过一个月的时间,这个网页就会失效。
尽管Google在作猜测,下列内容都是真实可信的:
1) 幽灵登陆页上的排名不能等同于索引页的排名。
2) 在每月新数据库建立之前,必须将幽灵登陆页从数据库中移走。但是,这只是暂时的移走。
如果您的索引中有这样登陆页,您的主要目标应该是让该页在Google新页上拥有排名。若您想做到这点,您需要定期、有规律、最好是每天,有一定间隔地更新网站内容。
案例分析:同样的遭遇
(1)五天之前,我向互联网上传一个新的小网站,这一次我没有像以往那样把这个网站与我的其他网站建立链接,而是通过添加 lhtml将该网址添加到Google中去。我静静等待这个网站被发现。三天以 后,用该网站的主要关键词进行搜索,这个网站能排到搜索结果的前十名,并且记录显示130个访问者访问过该网站。但是,一天之后,这个网站消失了。这一次,他不仅是掉出前十名,而且是掉出整个 Google目录。网站本身一点问题没有,没有作弊,没有隐藏链接,没有内容复制,没有关键词堆砌,就这样默默地网站消失了。
我仔细考虑该网站的欠缺之处,排名消失的原因也许在于这个网站缺少导入链接,也许因为这个网站有一个d出窗口。也许,也许,有无数个也许在等着我。
(2)经常有人向我们咨询这类问题,为了满足不同询问者的需要,我们写了一篇文章,希望有所帮助。
一个新网页没有被Google主目录收取,直到:
1 该网页被Google主目录搜索蜘蛛抓取。
2 该网页在被Google主目录搜索蜘蛛抓取之后,须经过一段更新时间。
只有以上两条全都满足,新网页被Google主目录确确实实抓取到,新网页上的排名才有可能转化成真正排名 。
Google有两种抓取形式
1 主抓取
2 新抓取一个新的网页首先被“新抓取”蜘蛛抓取。但也有特例的时候。在Google月更新刚刚完成那一段时间之后,一个网页通常被“主抓取”蜘蛛抓取。每月更新一般在每个月的20号到28号之间,能够持续几天。
为了区分两种蜘蛛的差异,我们可以先来看一下一组IP 地址。
1 “主抓取”蜘蛛= 21623946
2 “新抓取”蜘蛛= 646882
为了进一步解释明白新网页发生的Google幽灵现象,我们假设该网页首先被“新抓取”蜘蛛抓取。在Google两个月更新之间,“新抓取”蜘蛛来抓取新网页。在主抓取期间,通过链接新网页能够被抓 取。新抓取期间,情况也是一样。
尽管这个网页没有经过此次更新,也没有收录在Google主目录里,但是抓取之后,搜索蜘蛛开始衡量该网页内容和质量,并把该网页收录在搜索结果里。这次衡量是十分不稳定的,易受外界影响,经常发生变化。
当每月定期更新来临时,这些网页会产生波动。每月定期更新就是Google波动。但是,您需要记住,“主抓取”蜘蛛没有阅读该网页,所以这个网页没有加入主索引中。所以,当每月更新结束后,这个新 网页仍被看作是新网页但是不久以后,“主抓取”蜘蛛将会阅读这个新网页,在下个月更新之后,该页面才能被收录进主索引。这需要经历一段时间。在此之前,Google不显示任何导入链接,这个网页的排名也因此多变、不稳定。
让我们总结一下:
如果一个新网页首先被一个“新抓取”蜘蛛抓取,然后被“主抓取”蜘蛛抓取,这个网页需要经过两次月更新。换句话说,这个新网页需要经过两个月才能被主索引收录,在被主索引收录之后,才可能获取稳定的排名。
这期间新网页可能在Google搜索结果页中出现,也可能消失,这种不稳定的情况完全是正常的。
还有一种情况。如果一个新网页首先被“主抓取”蜘蛛抓取(这通常发生在一月的下旬),那么这个网页只等一个月的时间就可以进入“主索引”。
网站设计者和拥有者如果不了解Google抓取新网页的过程,他们的工作将难以开展。网页排名可能一路飙升,名列前十名,让人欣喜若狂,也可能陡然狂降,甩出二百名开外,令人垂头丧气。
以上就是关于为什么说scrapy-redis天然具备断点续爬的功能全部的内容,包括:为什么说scrapy-redis天然具备断点续爬的功能、有谁知道搜索引擎的数据库是如何建立的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)