问题

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

DEBUG: Crawled (200) <GET http://www.php.cn/> (referer: None)
登录后复制

如果出现

DEBUG: Crawled (403) <GET http://www.php.cn/> (referer: None)
登录后复制

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

解决方法

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

def start_requests(self):  
    yield Request("http://www.php.cn/",  
                  headers={'User-Agent': "your agent string"})
登录后复制


以上就是Python 爬虫返回403错误解决方法的详细内容,更多请关注Work网其它相关文章!

09-14 09:08