0

我在scrapy工作。

我正在获取一个包含 url 列表的站点。

因此,我请求了主 url,start_url并在列表中获取了所有 href 标签(获取数据的链接),我再次请求列表中的每个 url 进一步获取数据,但一些 url 重定向如下:

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

我知道scrapy会忽略重定向的链接,但我想捕获重定向的url并想像200状态的url一样抓取

无论如何要捕获该重定向 url 并从中抓取数据,我的意思是我们是否需要禁用重定向中间件?或者我们需要在请求命令中使用任何元标记,你能给我一个例子吗?

4

1 回答 1

0

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

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

DOWNLOADER_MIDDLEWARES = {
    'apy.contrib.downloadermiddleware.redirect.RedirectMiddleware': 123,
}
于 2012-06-15T10:29:04.357 回答