1. 程式人生 > >Scrapy: 爬蟲返回403錯誤

Scrapy: 爬蟲返回403錯誤

問題

抓取資料時,通常除錯資訊是:

DEBUG: Crawled (200) <GET http://www.techbrood.com/> (referer: None)

如果出現

DEBUG: Crawled (403) <GET http://www.techbrood.com/> (referer: None)

表示網站採用了防爬技術anti-web-crawling technique(Amazon所用),比較簡單即會檢查使用者代理(User Agent)資訊。

解決方法

在請求頭部構造一個User Agent,如下所示:

    def start_requests(self):
        yield Request("http://www.techbrood.com/",
                      headers={'User-Agent': "your agent string"})