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中字符串的处理技巧分享
Sep 17 Python
浅谈numpy库的常用基本操作方法
Jan 09 Python
致Python初学者 Anaconda入门使用指南完整版
Apr 05 Python
Python常见MongoDB数据库操作实例总结
Jul 24 Python
Python格式化输出字符串方法小结【%与format】
Oct 29 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
Jan 29 Python
Flask框架踩坑之ajax跨域请求实现
Feb 22 Python
使用OpenCV实现仿射变换—平移功能
Aug 29 Python
Python基础之函数基本用法与进阶详解
Jan 02 Python
Python同时处理多个异常的方法
Jul 28 Python
Python模拟键盘输入自动登录TGP
Nov 27 Python
Python OpenCV 图像平移的实现示例
Jun 04 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昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
重载toString实现JS HashMap分析
2011/03/13 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
vue实现分页组件
2020/06/16 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
2019/05/20 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
python中循环语句while用法实例
2015/05/16 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
python3获取文件中url内容并下载代码实例
2019/12/27 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
爱尔兰最大的体育零售商:Life Style Sports
2019/06/12 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
毕业生教师求职信
2013/10/20 职场文书
医院护士的求职信
2014/01/03 职场文书
迟到检讨书900字
2014/01/14 职场文书
职工运动会邀请函
2014/02/02 职场文书
领导干部考察材料
2014/02/08 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
入党心得体会
2019/06/20 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书
MySQL 分区表中分区键为什么必须是主键的一部分
2022/03/17 MySQL
JS实现简单九宫格抽奖
2022/06/28 Javascript