robots.txt裡的有趣事

王平發表於2019-01-09

之前在爬蟲小偏方系列文章之《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.com 原創,沒有猿人學授權,請勿以任何形式轉載。***

相關文章