【发布时间】:2012-06-18 09:56:45
【问题描述】:
我正在使用scrapy。
我正在获取一个包含 url 列表的站点。
所以我请求了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 并从中抓取数据,我的意思是我们是否需要禁用重定向中间件?或者我们需要在请求命令中使用任何元标记,你能给我一个例子吗?
【问题讨论】:
-
>我知道scrapy会忽略重定向的链接,但我想捕捉重定向的url并想像200状态的url一样抓取相同的内容meta refresh 指令时,响应不会传递给回调,显示有关重定向的消息,使用相同的回调发出新的请求,但使用新的 url。所以重定向的 url 不会被忽略,除非它来自另一个域或已经访问过的 url *(被欺骗中间件过滤)
标签: python url redirect scrapy