Python使用scrapy采集数据过程中放回下载过大页面的方法

 更新时间:2015年04月08日 10:27:20   作者:pythoner  
这篇文章主要介绍了Python使用scrapy采集数据过程中放回下载过大页面的方法,可实现限制下载过大页面的功能,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了Python使用scrapy采集数据过程中放回下载过大页面的方法。分享给大家供大家参考。具体分析如下:

添加以下代码到settings.py,myproject为你的项目名称

复制代码 代码如下:
DOWNLOADER_HTTPCLIENTFACTORY = 'myproject.downloader.LimitSizeHTTPClientFactory'

自定义限制下载过大页面的模块

复制代码 代码如下:
MAX_RESPONSE_SIZE = 1048576 # 1Mb
from scrapy.core.downloader.webclient import ScrapyHTTPClientFactory, ScrapyHTTPPageGetter
class LimitSizePageGetter(ScrapyHTTPPageGetter):
    def handleHeader(self, key, value):
        ScrapyHTTPPageGetter.handleHeader(self, key, value)
        if key.lower() == 'content-length' and int(value) > MAX_RESPONSE_SIZE:
            self.connectionLost('oversized')
class LimitSizeHTTPClientFactory(ScrapyHTTPClientFactory):
     protocol = LimitSizePageGetter

希望本文所述对大家的Python程序设计有所帮助。

相关文章

  • pytorch逐元素比较tensor大小实例

    pytorch逐元素比较tensor大小实例

    今天小编就为大家分享一篇pytorch逐元素比较tensor大小实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 浅谈python连续赋值可能引发的错误

    浅谈python连续赋值可能引发的错误

    今天小编就为大家分享一篇浅谈python连续赋值可能引发的错误,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python爬虫常用的模块分析

    python爬虫常用的模块分析

    这篇文章主要介绍了python爬虫常用的模块的creepy模块,功能非常强大,文中较为详细的讲述了模块接口的功能及用法,需要的朋友可以参考下
    2014-08-08
  • Python实现单链表中元素的反转

    Python实现单链表中元素的反转

    这篇文章主要为大家详细介绍了Python实现单链表中元素的反转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Python 快速实现CLI 应用程序的脚手架

    Python 快速实现CLI 应用程序的脚手架

    本篇文章主要介绍了Python 快速实现CLI 应用程序的脚手架,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • python判断文件是否存在,不存在就创建一个的实例

    python判断文件是否存在,不存在就创建一个的实例

    今天小编就为大家分享一篇python判断文件是否存在,不存在就创建一个的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Python构建网页爬虫原理分析

    Python构建网页爬虫原理分析

    这篇文章主要给大家讲解了构建网页爬虫的技术原理以及实现的逻辑关系,有兴趣的朋友阅读下吧。
    2017-12-12
  • python实现比较类的两个instance(对象)是否相等的方法分析

    python实现比较类的两个instance(对象)是否相等的方法分析

    这篇文章主要介绍了python实现比较类的两个instance(对象)是否相等的方法,结合实例形式分析了Python判断类的实例是否相等的判断操作实现技巧,需要的朋友可以参考下
    2019-06-06
  • python操作jira添加模块的方法

    python操作jira添加模块的方法

    在开发工作中,Jira通常用作BUG管理和任务跟踪管理等,项目经理,测试人员,开发人员等在Jira上进行提交BUG,提交任务,修改任务进度等操作.本文重点给大家介绍python操作jira添加模块的方法,感兴趣的朋友一起看看吧
    2022-03-03
  • Python之数据序列化(json、pickle、shelve)详解

    Python之数据序列化(json、pickle、shelve)详解

    这篇文章主要介绍了Python之数据序列化(json、pickle、shelve)详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论