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 break语句详解
Mar 11 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
Jun 23 Python
浅谈python 读excel数值为浮点型的问题
Dec 25 Python
python实现字符串加密成纯数字
Mar 19 Python
在python中利用try..except来代替if..else的用法
Dec 19 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
Mar 30 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
python UIAutomator2使用超详细教程
Feb 19 Python
python利用xpath爬取网上数据并存储到django模型中
Feb 26 Python
仅用几行Python代码就能复制她的U盘文件?
Jun 26 Python
pytorch实现加载保存查看checkpoint文件
Jul 15 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
复杂检索数据并分页显示的处理方法
2006/10/09 PHP
phpMyadmin 用户权限中英对照
2010/04/02 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
apache php模块整合操作指南
2012/11/16 PHP
php事务处理实例详解
2014/07/11 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
JS实现“全选”和"全不选"功能代码实例
2020/02/06 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
Python用threading实现多线程详解
2017/02/03 Python
解决Python requests 报错方法集锦
2017/03/19 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
将Django项目部署到CentOs服务器中
2018/10/18 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
python 创建一维的0向量实例
2019/12/02 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
python实现学生管理系统开发
2020/07/24 Python
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
高级工程师岗位职责
2013/12/15 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
2014年体育部工作总结
2014/11/13 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
团代会闭幕词
2015/01/28 职场文书
顶岗实习协议书
2015/01/29 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL