如何让 scrapy 跟随重定向?

问题描述 投票:0回答:1

我正在尝试从网页的历史版本中抓取数据作为备份的 Wayback Machine。

我有数以千计的页面需要抓取,我不想费心为每个页面找出可用备份的确切日期和时间。我只想获取每周的历史数据或最近的可用数据。

我所知道的是,如果我在此处的链接中添加日期:

https://web.archive.org/web/<some_date>/<some_url>

然后 Wayback Machine 将自动重定向到最近的可用捕获。这在我的场景中会很好用。

我有一个

scrapy
蜘蛛提取数据,我已经在当前版本的网页上成功使用了它,所以我知道它可以工作并产生正确的输出。但是当我尝试在页面的备份版本上运行 scrapy 时,我得到以下输出通知页面正在重定向并且没有返回数据:

2023-05-04 20:18:33 [scrapy.middleware] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',
 'scrapy.spidermiddlewares.referer.RefererMiddleware',
 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
 'scrapy.spidermiddlewares.depth.DepthMiddleware']
2023-05-04 20:18:33 [scrapy.middleware] INFO: Enabled item pipelines:
[]
2023-05-04 20:18:33 [scrapy.core.engine] INFO: Spider opened
2023-05-04 20:18:33 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2023-05-04 20:18:33 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2023-05-04 20:18:36 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://web.archive.org/web/20200204105913/<some_url>> from <GET https://web.archive.org/web/20050313/<some_url>>

我看过其他类似性质的问题,我知道我需要对中间件做一些事情,但其他问题更多是关于不允许重定向,而我想要的恰恰相反。

如何让

scrapy
跟随重定向?

python redirect scrapy
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.