我開發了一個網絡爬蟲,現在我想尊重我爬行的網站的robots.txt文件。讓PHP網絡爬蟲尊重任何網站的robots.txt文件
我看,這是robots.txt文件結構:
User-agent: *
Disallow: /~joe/junk.html
Disallow: /~joe/foo.html
Disallow: /~joe/bar.html
我能讀,一行行,然後使用帶有空格爆炸作爲分隔符來查找數據。
是否有其他方式可以加載整個數據?
這種類型的文件是否有像XPath一樣的語言?
還是我必須解釋整個文件?
任何幫助,歡迎,甚至鏈接,重複若發現...
嘿!我只是好奇,你是如何解決用戶代理的一部分?你寫了一個特殊的正則表達式來匹配用戶代理的結果:*? – directory 2012-10-31 15:39:40
當我使用cURL時,用戶代理已經存儲在數據庫中,所以我知道我的cURL算法應該識別哪個用戶代理;和平的蛋糕 – 2012-11-01 06:51:48
好吧,我做了下面的事情,我必須每小時蜘蛛100個網站。我每週讀一次robots.txt,用一個正則表達式代替用戶代理:*部分(包括禁止等等)直到下一個用戶代理(如果存在)。比我在每個網站的數據庫中存儲路徑爲正則表達式模式。比我在我的蜘蛛中使用正則表達式來看我是否被允許蜘蛛獲得我所獲得的鏈接的路徑。你如何看待這個? :)乾杯! – directory 2012-11-02 09:32:49