我在刮刮公司工作。
我正在获取一个由urls列表组成的站点。
因此,我请求了start_url中的主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并从它们中刮取数据,我的意思是,我们需要禁用重定向中间件吗?或者我们需要在请求命令中使用任何元标签,你能给我举一个例子吗?
发布于 2012-06-15 10:29:04
我没有使用Scrapy的经验,但是很明显,您可以定义中间件,在解析内容时改变Scrapy的工作方式。
有一个支持和处理越界重定向的RedirectMiddleware,所以您所需要做的就是启用它。
DOWNLOADER_MIDDLEWARES = {
'apy.contrib.downloadermiddleware.redirect.RedirectMiddleware': 123,
}https://stackoverflow.com/questions/11048823
复制相似问题