必威体育Betway必威体育官网
当前位置:首页 > IT技术

利用robots.txt快速抓取网站的小窍门

时间:2019-08-29 17:10:00来源:IT技术作者:seo实验室小编阅读:53次「手机版」
 

robots.txt

640?wx_fmt=jpeg

王平,一个IT老码农,写Python十年有余,喜欢专研通过爬虫技术挣钱

在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的robots.txt文件,有时会给你打开另一扇抓取之门。

写爬虫有很多苦恼的事情,比如:

1.访问频次太高被限制;

2.如何大量发现该网站的URL;

3.如何抓取一个网站新产生的URL,等等;

这些问题都困扰着爬虫选手,如果有大量离散IP和账号,这些都不是问题,但是绝大部分公司都不具备这个条件的。

我们在工作中写的爬虫大多是一次性和临时性的任务,需要你快速完成工作就好,当遇到上面情况,试着看下robots.txt文件。

举个栗子

老板给你布置一个任务,把豆瓣每天新产生的影评,书评,小组帖子,同城帖子,个人日志抓取下来。

初想一下,这任务得有多大,豆瓣有1.6亿注册用户,光是抓取个人日志这一项任务,每个人的主页你至少每天要访问一次。

这每天就得访问1.6亿次,小组/同城帖子等那些还没算在内。

设计一个常规爬虫,靠着那几十个IP是完不成任务的。

初窥robots.txt

当老板给你了上面的任务,靠着你这一两杆枪,你怎么完成,别给老板讲技术,他不懂,他只想要结果。

我们来看下豆瓣的robots.txt

https://www.douban.com/robots.txt

640?wx_fmt=jpeg

看图片上面红框处,是两个sitemap文件

打开sitemap_updated_index文件看一下:

640?wx_fmt=jpeg

里面是一个个压缩文件,文件里面是豆瓣头一天新产生的影评,书评,帖子等等,感兴趣的可以去打开压缩文件看一下。

也就是说每天你只需要访问这个robots.txt里的sitemap文件就可以知道有哪些新产生的URL。

不用去遍历豆瓣网站上那几亿个链接,极大节约了你的抓取时间和爬虫设计复杂度,也降低了豆瓣网站的带宽消耗,这是双赢啊,哈哈。

上面通过robots.txt的sitemap文件找到了抓取一个网站新产生URL的偏方。沿着该思路也能解决发现网站大量URL的问题。

再举个栗子

老板又给你一个任务,老板说上次抓豆瓣你说要大量IP才能搞定抓豆瓣每天新产生的帖子,这次给你1000个IP把天眼查上的几千万家企业工商信息抓取下来。

看着这么多IP你正留着口水,但是分析网站后发现这类网站的抓取入口很少(抓取入口是指频道页,聚合了很多链接的那种页面)。

很容易就把储备的URL抓完了,干看着这么多IP工作不饱满。

如果一次性能找到这个网站几万乃至几十万个URL放进待抓队列里,就可以让这么多IP工作饱满起来,不会偷懒了。

我们来看他的robots.txt文件:

https://www.tianyancha.com/robots.txt

640?wx_fmt=jpeg

640?wx_fmt=jpeg

打开红框处的sitemap,里面有3万个公司的URL,上图是1月3号生成的,那个URL是根据年月日生成的,你把URL改成1月2号,又能看到2号的sitemap里的几万个公司URL,这样就能发现十几万个种子URL供你抓取了。

PS:上面的sitemap其实也能解决抓取天眼查最近更新的,新产生URL的问题。

小小的一个取巧,既降低了爬虫设计的复杂度,又降低了对方的带宽消耗。

这在工作中非常适用,工作中不会在意你用的框架多好,只在意你做事的快慢和好坏。善于看robots.txt文件你会发现一些别有洞天的东西。

§§

Python中文社区作为一个去中心化的全球技术社区,以成为全球20万Python中文开发者的精神部落为愿景,目前覆盖各大主流媒体和协作平台,与阿里腾讯百度微软、亚马逊、开源中国、CSDN等业界知名公司和技术社区建立了广泛的联系,拥有来自十多个国家和地区数万名登记会员,会员来自以公安部、工信部、清华大学、北京大学、北京邮电大学、中国人民银行、中科院、中金、华为BAT谷歌、微软等为代表的政府机关、科研单位、金融机构以及海内外知名公司,全平台近20万开发者关注。

更多推荐

Python迭代器使用详解

一文读懂Python可迭代对象、迭代器和生成器

用Python爬取金融市场数据

搭建CNN模型破解网站验证码

用Python进行图文识别(OCR)

投稿邮箱[email protected]

640?wx_fmt=jpeg

点击下方阅读原文免费成为数据科学俱乐部会员

相关阅读

通过新浪“屏蔽门”来学习正确的robots.txt文件写法

前一段时间由于部分站长对robots文件的误读,导致了一则虚假消息的诞生--“新浪封杀门”,消息称新浪博客开始封杀百度蜘蛛

爬虫出现Forbidden by robots.txt

先说结论,关闭scrapy自带的ROBOTSTXT_OBEY功能,在setting找到这个变量,设置为False即可解决。 使用scrapy爬取淘宝页面的时候,在提交h

robots.txt文件问题攻略大全

robots.txt文件问题攻略大全,本文中seo实验室将大家常遇到的关于robots.txt文件的相关问题进行汇总,希望大家又长知识了。1、robots

请谨慎在robots.txt中增加sitemap链接

一直以来,大家都在寻找各种方式向搜索引擎提供自己网站的内容,其中就包括sitemap,甚至很多文章介绍说在robots.txt增加sitemap的指向

robots.txt用法和seo作用-Googlebot/Baiduspider

通过给网站设置适当的robots.txt对Google和百度seo优化的作用是很明显的。WordPress博客网站也一样。我们先看看robots.txt是什么

分享到:

栏目导航

推荐阅读

热门阅读