robots.txt里的有趣事

Python爬虫 2019-01-09 11:31:19 阅读(6976) 评论(0)

之前在爬虫小偏方系列文章之《robots.txt快速抓取网站的小窍门》 这篇文章里分享了通过robots.txt文件来抓取网站每天新增URL的小偏方,有朋友觉得这是个sao操作,其实robots.txt文件里还有其它一些有趣事。

robots.txt的有趣事

1.可以通过robots.txt找到工作

出国旅游经常用到的,全球最大旅游网站TripAdvisor(中文名 猫头鹰)在它的robots.txt文件里留有招聘信息招聘SEO人才。

tripadvisor robots.txt

因为经常访问robots.txt文件的,除了各色各样网络爬虫外,就是做SEO的人经常来光顾了,在这个文件里打招聘SEO职位的广告那是相当精准了。

这就跟知乎在它的网页前端console里打招聘前端职位是一样一样的,去调试分析知乎前端页面的除了知乎自家开发人员,就是其它公司的前端攻城狮了。而且还容易引起话题讨论。

知乎 console

2.泄露网站隐藏页面和后台登录网址

因为robots.txt文件里的规则主要是给搜索引擎爬虫看的,是用来告诉搜索爬虫什么页面可以抓取,什么页面不能抓取。有时搜索爬虫会抓取到网站后台页面,并可能会在搜索结果中展现,这是网站方面不想看到的。

所以会在robots.txt文件里写明某些目录里的页面不能抓取,但是这样写明后会带来安全隐患,因为这样就泄露了网站的后台登录地址。比如这个网站的robots.txt。

不安全的robots.txt写法

文件的用意是不让爬虫抓取wp-admin/里的页面,但是被一些”黑客”看到这个文件的话,对方就知道了你的后台登录地址。我们访问一下wp-admin

后台地址

登录防护没有做好的话,对方就有可能通过字典算法,试出你的密码。看图实际上是一个wordpress网站,默认后台地址就是wp-admin,用wordpress的最好改一下。

还有比较奇葩的robots.txt文件会直接泄露网站的账户密码。

泄露密码的robots.txt

访问文件里的passwords.txt文件是一个个鲜活的账号和密码。

这样写robots.txt文件本意是好的,让搜索爬虫别抓取,但是人也会来看robots.txt文件,人心难测啊~~~

3.霸气外露型robots.txt

都知道nike公司的经典广告语是Just do it.

nike在robots.txt文件里也是体验这种大气范儿。

nike robots.txt

Just crawl it. 翻译过来就是 随便爬,别客气。

这气场,大气!!!

4.有效降低你爬虫的访问频次

猿人学读者里的Python爬虫选手都知道抓取网站,要控制访问频率,不然容易被网站给KO了。

通过robots.txt里的sitemap文件是最有效降低你爬虫访问频率的方法。

robots.txt里的sitemap文件本来就是给搜索引擎爬虫准备的,搜索引擎爬虫每天全网要抓取几亿几十亿次,每天整个互联网估计会新产生几千万张网页,搜索引擎爬虫自己的算力其实是吃紧的,它希望各家网站有一个sitemap文件来告诉它这个网站有哪些链接,哪些是今天新增的,哪些是最近更新的。

这样就不用搜索引擎爬虫从头到尾一层一层的爬你的网站,通过sitemap文件只抓新增的和更新过的就好,这样很好的节省了搜索引擎的算力,也减少了网站带宽压力。

所以爬虫选手们如果不是为了练手,可以直接去访问sitemap文件试试, 这样可以减少很多无效访问。对你,对对方网站都好。

另外再告诉你,一般sitemap文件是真静态文件,你访问sitemap时,对方的web服务器(nginx/apache等)会直接读取该文件返回给你,不会走到后端处理程序中。一些网站的频率控制措施是在后端程序逻辑中完成,也就是说你访问sitemap文件,对方网站的访问频率控制管不到你,除非在web服务器加了频率控制措施才能制裁你。

5.robots.txt文件规则写错,后果严重

上文说了,该文件是告诉爬虫哪些页面可以抓,哪些页面不要抓,如果你哪天瞌睡没睡醒,把规则写错了(robots.txt允许写简单的类似正则表达式的东东),后果就是某天早上你来上班,查阅流量统计时,发现网站流量全没有了,流量就是网站的命根,这时你下巴都要吓掉。

敢保证你把所有可能引起流量下滑的原因都想完了,都想不到是你那天灵魂出窍写错了robots.txt规则导致的。把正常的页面也写成了不让搜索爬虫抓取。我以前就干过这蠢事,记忆犹幸。

6.robots.txt限制不了爬虫

robots.txt是一个不成为的规定,没有法律效应,它只是一个txt文本文件,只能靠自觉和道德约束。

除了各位的非主流爬虫,各个大厂的主流搜索引擎爬虫是最不遵守robots.txt文件规定的。它们是千方百计,换着花样的想抓你的网站。

搜索引擎爬虫的user-agent写法通常是XXXSpider,这是明的,暗地里它们还会改user-agent,改成正常的浏览器UA来光顾你的网站(跟我们的非主流爬虫一样一样的),让你防不胜防,有网站的朋友可以分析下你web服务器日志的IP。

猿人学banner宣传图

我的公众号:猿人学 Python 上会分享更多心得体会,敬请关注。

***版权申明:若没有特殊说明,文章皆是猿人学 yuanrenxue.con 原创,没有猿人学授权,请勿以任何形式转载。***

说点什么吧...