Scrapy: 爬虫返回403错误的解决办法

问题

抓取数据时,通常调试信息是:

DEBUG: Crawled (200) (referer: None)

如果出现

DEBUG: Crawled (403) (referer: None)

表示网站采用了防爬技术anti-web-crawling technique(Amazon所用),比较简单即会检查用户代理(User Agent)信息。

解决方法

在请求头部构造一个User Agent,如下所示:

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