爬蟲抓取UserAgent問題

ttitfly發表於2007-10-16

爬蟲抓取問題:

cpp 程式碼
  1. wget http://www.bokee.net/alisoubao/rss2.xml  


這個地址抓取的內容為以前很老的內容。
同樣用java寫的爬蟲程式抓取的內容和用wget抓取的內容一樣。

而用

cpp 程式碼
  1. curl http://www.bokee.net/alisoubao/rss2.xml  

抓取的內容則是最新的。

感覺很奇怪。後來在google搜尋了一下 wget的引數,最後用

cpp 程式碼
  1. wget --user-agent=AGENT http://www.bokee.net/alisoubao/rss2.xml  


來抓取,抓取的內容是最新的,和用curl抓取的是一樣的。

原因是因為:
--user-agent=AGENT   加了這個引數 的意思是 設定代理的名稱為 AGENT而不是預設的 Wget/VERSION.

可見bokee網對user-agent為AGENT的請求進行了過濾。

同理:
檢查java寫的爬蟲程式裡,請求時帶的user-agent裡含有crawler
所以bokee網也應該對crawler的user-agent進行了過濾。

解決辦法:把user-agent的值改寫即可。

相關文章