Scrapy,HTTP状态代码200和重定向

时间:2015-01-20 17:39:42

标签: python scrapy

我正在尝试使用scrapy跟踪重定向,但是我遇到了以下问题:

如果我没有为t.co url shortener设置用户代理,我会获得301状态代码和此响应正文:

# 'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None,
<noscript>
    <META http-equiv="refresh" content="0;URL=http://sn.im/29m4uw5">
</noscript>
<title>http://sn.im/29m4uw5</title>
<script>
    window.opener = null; location.replace("http:\/\/sn.im\/29m4uw5")
</script>

现在,当我设置用户代理(PS 3)时,我得到200状态代码和相同的响应主体(并且没有解决重定向)。我需要设置一个用户代理来跟踪链重定向,就像我访问它们一样。

所以,我需要解决重定向,尽管HTTP状态代码不是3XX(就像在这种情况下,200)。

感谢您的帮助!

PS:用于测试的网址是http://t.co/b00VzIsr6l

PS 2:我需要像scrapyjs这样的东西吗?

PS 3:scrapy项目设置如下:

DOWNLOADER_MIDDLEWARES = {
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': 400,
'scrapy.contrib.downloadermiddleware.redirect.MetaRefreshMiddleware': 550,
'scrapy.contrib.downloadermiddleware.redirect.RedirectMiddleware': 600}

REDIRECT_ENABLED = True
METAREFRESH_ENABLED = True

USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'

0 个答案:

没有答案