本文实例讲述了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,value)
if key.lower() == 'content-length' and int(value) > MAX_RESPONSE_SIZE:
self.connectionLost('oversized')
class limitSizehttpClIEntFactory(ScrapyhttpClIEntFactory):
protocol = limitSizePageGetter
希望本文所述对大家的Python程序设计有所帮助。
总结以上是内存溢出为你收集整理的Python使用scrapy采集数据过程中放回下载过大页面的方法全部内容,希望文章能够帮你解决Python使用scrapy采集数据过程中放回下载过大页面的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)