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日期操作学习笔记
Oct 07 Python
Windows下安装Django框架的方法简明教程
Mar 28 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
详解python调用cmd命令三种方法
Jul 08 Python
django-crontab 定时执行任务方法的实现
Sep 06 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
Jan 14 Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
python时间time模块处理大全
Oct 25 Python
python实现的web监控系统
Apr 27 Python
Python Matplotlib绘制条形图的全过程
Oct 24 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 5.0 Pear安装方法
2006/12/06 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
php compact 通过变量创建数组
2016/11/15 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
初学node.js中实现删除用户路由
2019/05/27 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
laydate只显示时分 不显示秒的功能实现方法
2019/09/28 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
通过angular CDK实现页面元素拖放的步骤详解
2020/07/01 Javascript
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
浅述python2与python3的简单区别
2018/09/19 Python
Python实现京东秒杀功能代码
2019/05/16 Python
python对常见数据类型的遍历解析
2019/08/27 Python
java字符串格式化输出实例讲解
2021/01/06 Python
简述数组与指针的区别
2014/01/02 面试题
一些Solaris面试题
2015/12/22 面试题
小学清明节活动方案
2014/03/08 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
2014年工人工作总结
2014/11/25 职场文书
廉政承诺书2015
2015/04/28 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
js判断两个数组相等的5种方法
2022/05/06 Javascript