当使用scrapy大规模爬取某一站点的页面时,有时候会因爬取过于频繁而被封IP,导致出现400等错误。
此时的解决思路之一就是让蜘蛛在访问网址中间休息1~2秒。
还有就是配置User Agent,尽量轮换使用不同的UserAgent去抓取网页
在Scrapy项目的settings.py中,添加如下设置:
DOWNLOAD_DELAY = 2
RANDOMIZE_DOWNLOAD_DELAY = True
USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.54 Safari/536.5'
COOKIES_ENABLED = True