当前位置: 首页 > 编程笔记 >

Python使用scrapy采集数据过程中放回下载过大页面的方法

颜永怡
2023-03-14
本文向大家介绍Python使用scrapy采集数据过程中放回下载过大页面的方法,包括了Python使用scrapy采集数据过程中放回下载过大页面的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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 Scrapy多页数据爬取实现过程解析,包括了Python Scrapy多页数据爬取实现过程解析的使用技巧和注意事项,需要的朋友参考一下 1.先指定通用模板 url = 'https://www.qiushibaike.com/text/page/%d/'#通用的url模板 pageNum = 1 2.对parse方法递归处理 parse第一次调用表示的是用来解析第一页对

  • 本文向大家介绍Python使用scrapy采集时伪装成HTTP/1.1的方法,包括了Python使用scrapy采集时伪装成HTTP/1.1的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用scrapy采集时伪装成HTTP/1.1的方法。分享给大家供大家参考。具体如下: 添加下面的代码到 settings.py 文件 保存以下代码到单独的.py文件 希望本文所述对大家的

  • 问题内容: 我想使用scrapy下载整个页面的内容。 使用硒,这很容易: 但是,硒要比沙皮慢得多。 这是一种简单的方法吗? 我想将每个页面的代码保存在不同的文件文本中,而不是另存为csv或json文件。另外,如果在不创建项目的情况下也是可行的,那么对于这样一个简单的任务而言似乎有点过大。 问题答案: 代码将下载此页面并将其保存在文件中 test_scr.py 通过此命令运行

  • 本文向大家介绍Python使用scrapy采集数据时为每个请求随机分配user-agent的方法,包括了Python使用scrapy采集数据时为每个请求随机分配user-agent的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用scrapy采集数据时为每个请求随机分配user-agent的方法。分享给大家供大家参考。具体分析如下: 通过这个方法可以每次请求更换不同的u

  • 怎么用python来采集temu.com的商品数据,有什么反爬措施,怎么破解? 怎么用python来采集temu.com的商品数据,有什么反爬措施,怎么破解?

  • 本文向大家介绍讲解Python的Scrapy爬虫框架使用代理进行采集的方法,包括了讲解Python的Scrapy爬虫框架使用代理进行采集的方法的使用技巧和注意事项,需要的朋友参考一下 1.在Scrapy工程下新建“middlewares.py” 2.在项目配置文件里(./project_name/settings.py)添加 只要两步,现在请求就是通过代理的了。测试一下^_^ 3.使用随机user