如何处理302重定向问题

问题描述 投票:11回答:5

[我在抓取网站时收到来自服务器的302响应:

2014-04-01 21:31:51+0200 [ahrefs-h] DEBUG: Redirecting (302) to <GET http://www.domain.com/Site_Abuse/DeadEnd.htm> from <GET http://domain.com/wps/showmodel.asp?Type=15&make=damc&a=664&b=51&c=0>

我想将请求发送到GET网址,而不是被重定向。现在我找到了这个中间件:

https://github.com/scrapy/scrapy/blob/master/scrapy/contrib/downloadermiddleware/redirect.py#L31

我将此重定向代码添加到我的middleware.py文件中,并将其添加到settings.py中:

DOWNLOADER_MIDDLEWARES = {
 'street.middlewares.RandomUserAgentMiddleware': 400,
 'street.middlewares.RedirectMiddleware': 100,
 'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None,
}

但是我仍然被重定向。为了使此中间件正常工作,这是我要做的吗?我想念什么吗?

python scrapy http-status-code-302
5个回答
11
投票

忘记了这种情况下的中间件,这可以解决问题:


1
投票

我将此重定向代码添加到我的middleware.py文件中,并将其添加到settings.py中:


1
投票

使用How to avoid redirection of the webcrawler to the mobile edition?时,重定向存在无限循环问题。我设法通过设置HTTPCACHE_ENABLED = True来避免此问题。


0
投票

您可以通过在settings.py中将HTTPCACHE_IGNORE_HTTP_CODES = [301,302]设置为False来禁用RedirectMiddleware


0
投票

无法解释的REDIRECT_ENABLED响应,例如从Web浏览器中加载良好的页面重定向到首页或某个固定页面,通常指示针对不良活动的服务器端措施。

© www.soinside.com 2019 - 2024. All rights reserved.