在scrapy中爬行重定向的url

时间:2012-06-15 10:19:58

标签: python url redirect scrapy

我在scrapy工作。

我正在获取一个由网址列表组成的网站。

所以我在start_url中请求了主网址,并且我在列表中获得了所有href标记(获取数据的链接),我再次请求列表中的每个url进一步获取数据,但是网址重定向如下:

Redirecting (301) to <GET example.com/sch/mobile-68745.php> from Redirecting (301) to <GET example.com/sch/mobile-8974.php>

我发现scrapy忽略了重定向的链接,但我想要抓住重定向的网址,并希望像200状态的网址一样抓取

无论如何都要抓住重定向网址并从中抓取数据,我的意思是我们是否需要禁用重定向中间件?或者我们是否需要在Request命令中使用任何元标记,你可以给我一个例子吗?

1 个答案:

答案 0 :(得分:0)

我没有使用Scrapy的经验,但显然,您可以定义中间件,以便在解析内容时改变Scrapy的工作方式。

RedirectMiddleware支持和处理开箱即用的重定向,因此您需要做的就是启用它。

DOWNLOADER_MIDDLEWARES = {
    'apy.contrib.downloadermiddleware.redirect.RedirectMiddleware': 123,
}