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


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

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


robots.txt里的有趣事_java


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


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


robots.txt里的有趣事_java_02


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

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


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


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



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


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

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


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


3.霸气外露型robots.txt

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

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



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

这气场,大气!!!


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

爬虫选手都知道抓取网站,要控制访问频率,不然容易被网站给KO了。

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


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


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


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


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


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

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


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