问题
抓取数据时,通常调试信息是:
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"})