问题:

今天在用scrapy爬取豆瓣时,出现了403的错误,如下所示:

出现这个问题的原因其实是你所爬的网站使用了反爬机制,即会检查用户代理(User Agent)信息 ,此时需要在爬虫文件中设置headers。

 

解决方法:

   如下,在你的爬虫文件中加入以下代码:

def start_requests(self):
        yield Request("http://www.douban.com/",
                      headers={'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"})

如果采取了上述方法仍未解决的话,则可以尝试在你的setting.py文件中增加USER_AGENT配置:在setting.py中找到USER_AGENT的位置,将其前面的#去掉,然后将它的值改为你的User Agent信息,最终的效果如下:

USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'

 

若经过以上操作还没有解决问题,仍出现403的错误,可能是你的ip被封了,这时候就要用到代理ip的方法的,具体如何操作就不在这里详述了,google即可。希望能给初学scrapy的小伙伴带来帮助。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐