我在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命令中使用任何元标记,你可以给我一个例子吗?
答案 0 :(得分:0)
我没有使用Scrapy的经验,但显然,您可以定义中间件,以便在解析内容时改变Scrapy的工作方式。
有RedirectMiddleware支持和处理开箱即用的重定向,因此您需要做的就是启用它。
DOWNLOADER_MIDDLEWARES = {
'apy.contrib.downloadermiddleware.redirect.RedirectMiddleware': 123,
}