scrapy技巧

最近写scrapy的时候,有些链接会自动重定向,就导致了不同的错误都重定向到了一个相同的页面,导致无法根据响应内容做对应的处理,查了文档,关闭重定向的方式为:

REDIRECT_ENABLED  = False

但是经过实际测试,该重定向只能针对响应状态为302,301的重定向进行处理,无法处理通过元数据进行重定向的页面,类似于:

<meta http-equiv="refresh" content="6;URL=https://weibo.cn/pub/" />

REDIRECT_ENABLED  对这类重定向做不出任何反应。

后来继续查阅文档,发现有个默认启用的下载中间件:

scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware

将此中间件关闭即可,完整的配置为:

REDIRECT_ENABLED  = False
DOWNLOADER_MIDDLEWARES = {
    ...
    'scrapy.downloadermiddlewares.redirect.RedirectMiddleware': None,
    'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware':None
}

如何在scrpay-redis爬虫运行时指定指定redis_key?

    def __init__(self, redis_key=None, *args, **kwargs):
        super(SinglecralwSpider, self).__init__(*args, **kwargs)
        self.redis_key = redis_key

启动时用一下命令传参

scrapy crawl ReMobile -a redis_key=my_test

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值