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


Posted in Python onApril 08, 2015

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
python杀死一个线程的方法
Sep 06 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
Python采用Django开发自己的博客系统
Sep 29 Python
python实现类之间的方法互相调用
Apr 29 Python
pandas 根据列的值选取所有行的示例
Nov 07 Python
OpenCV图像颜色反转算法详解
May 13 Python
pycharm显示远程图片的实现
Nov 04 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 Python
协程Python 中实现多任务耗资源最小的方式
Oct 19 Python
解决python存数据库速度太慢的问题
Apr 23 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 Python
在Python中使用M2Crypto模块实现AES加密的教程
Apr 08 #Python
Python使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 #Python
Python打印scrapy蜘蛛抓取树结构的方法
Apr 08 #Python
使用IPython来操作Docker容器的入门指引
Apr 08 #Python
仅用50行Python代码实现一个简单的代理服务器
Apr 08 #Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
Apr 08 #Python
Python 创建子进程模块subprocess详解
Apr 08 #Python
You might like
php 无限分类的树类代码
2009/12/03 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
正则表达式搭配js轻松处理json文本方便而老古
2013/02/17 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
如何提高数据访问速度
2016/12/26 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
python中反射用法实例
2015/03/27 Python
Python计算三维矢量幅度的方法
2015/06/15 Python
Python实现的密码强度检测器示例
2017/08/23 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
python psutil库安装教程
2018/03/19 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
python的range和linspace使用详解
2019/11/27 Python
python怎么删除缓存文件
2020/07/19 Python
详解Python IO编程
2020/07/24 Python
css 元素选择器的简单实例
2016/05/23 HTML / CSS
深入浅析CSS3中的Flex布局整理
2020/04/27 HTML / CSS
浅析HTML5:'data-'属性的作用
2018/01/23 HTML / CSS
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
如何撰写岗位职责
2014/02/01 职场文书
创新型城市实施方案
2014/03/06 职场文书
总账会计岗位职责
2014/03/13 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
学校火灾防控方案
2014/06/09 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
2015年团支部工作总结
2015/04/03 职场文书
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python