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多线程编程简单介绍
Apr 13 Python
python处理html转义字符的方法详解
Jul 01 Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 Python
PyQt5 pyqt多线程操作入门
May 05 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
Sep 24 Python
python文件处理fileinput使用方法详解
Jan 02 Python
python获取依赖包和安装依赖包教程
Feb 13 Python
python实现替换word中的关键文字(使用通配符)
Feb 13 Python
tensorflow下的图片标准化函数per_image_standardization用法
Jun 30 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
python 视频下载神器(you-get)的具体使用
Jan 06 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 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中AES加密解密的例子小结
2014/02/18 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
PDO::errorCode讲解
2019/01/28 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
JavaScript中神奇的call()方法
2015/03/12 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
对angular 实时更新模板视图的方法$apply详解
2018/10/09 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
使用cx_freeze把python打包exe示例
2014/01/24 Python
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
PyQt5 pyqt多线程操作入门
2018/05/05 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
网上蛋糕店创业计划书
2014/01/24 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
趣味运动会赞词
2015/07/22 职场文书
如何拟写通知正文?
2019/04/02 职场文书
python使用shell脚本创建kafka连接器
2022/04/29 Python
python绘制云雨图raincloud plot
2022/08/05 Python