我正在抓捕一个需要referer
的网站。
我这样设置。
DEFAULT_REQUEST_HEADERS = {
'Referer': 'http://www.referer.com'
}
当我在项目文件夹中尝试scrapy shell url
(一个有scrapy.cfg
)时,这意味着它在settings.py
文件中使用了相同的设置,我可以看到{{1} },但收到了referer
响应。
[scrapy.core.engine]调试:已抓取(403)https://my_url.com(引荐来源:http://www.referer.com)
但是,403
无需任何更改。
[scrapy.downloadermiddlewares.redirect]调试:将(302)从https://my_url.com>重定向到https://redirected_my_url.com>
我也是scrapy crawl my_spider
,与scrapyrt
的问题相同。
答案 0 :(得分:0)
检查您网站的robots.txt。有时,它不存在。
如果robots.txt允许漫游器,则问题不太可能来自此。否则,您可以在settings.py或命令ng-mouseleave
中编写ROBOTSTXT_OBEY = False
。如您所愿。
关于用户代理。就用户代理而言,据我所知,在刮擦的外壳中一个就足够了,对于爬行的蜘蛛,最好创建一堆用户代理列表并使其随机。
如果这还不够。
最后,在您的settings.py或命令中使用scrapy crawl or shell -s ROBOTSTXT_OBEY = False
,其值至少为1。使您的蜘蛛在爬网或外壳中的行为更像常规浏览器。您也可以使用DOWNLOAD_DELAY = 3
,原因相同:
AUTOTHROTTLE_ENABLED = True