跳转到主要内容

Scrapy下载器中间件,帮助集成Scrapy与Nimble Web API。

项目描述

Scrapy Nimble Middleware

scrapy-nimble是一个Scrapy下载器中间件,帮助将ScrapyNimble Web API集成。

安装

您可以从PyPI以常规Python包的方式安装scrapy-nimble

pip install scrapy-nimble

配置

  1. 如果您还没有,请在Nimble中创建一个账户

  2. 提供您的凭据并通过Scrapy设置启用中间件。

    # settings.py
    NIMBLE_ENABLED = True
    
    NIMBLE_USERNAME = "username"
    NIMBLE_PASSWORD = "password"
    
  3. 将下载器中间件添加到您的DOWNLOADER_MIDDLEWARES Scrapy设置中。

    # settings.py
    DOWNLOADER_MIDDLEWARES = {
        "scrapy_nimble.middlewares.NimbleWebApiMiddleware": 570,
    }
    

    如果您已启用scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware(默认情况下,在DOWNLOADER_MIDDLEWARES_BASE设置中启用,默认顺序为590),请配置scrapy-nimble中间件在它之前。

基本用法

一旦正确配置下载器中间件,每个请求都会通过Nimble的Web API。您不需要修改蜘蛛代码中的任何内容。

实时URL请求

scrapy-nimble使用Nimble Web API进行实时URL请求。除了对特定URL的默认GET请求外,此API还提供一些额外的选项,允许您执行地理位置请求、渲染动态内容等。

目前可以使用以下请求选项。请查看文档以了解使用方法和可以提供的有效值。如果未提供选项,将使用Web API的默认值。

  • 方法
  • 国家
  • 地区
  • 头部
  • cookie
  • 渲染
  • 渲染选项

将您想要使用的选项添加到请求的键中,选项名称前添加nimble_,例如

# Inside your spider
yield scrapy.Request(
   "https://nimbleway.com",
   meta={
      "nimble_country": "DE",
      "nimble_locale": "uk",
      "nimble_render": True,
   }
)

开发

我们建议使用pyenv来管理Python版本并创建一个安全开发的独立环境。安装后,您可以使用以下命令准备环境

$ pyenv virtualenv 3.11.6 myvenv
$ pyenv activate myvenv
$ python -m pip install -e .

为了保持代码格式化标准并进行一些lint检查,我们使用pre-commit hooks。安装pre-commit包并使用以下命令安装项目钩子

$ pre-commit install

现在您可以开始开发了。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

scrapy_nimble-0.0.2.tar.gz (19.6 kB 查看哈希值)

上传时间

构建分发

scrapy_nimble-0.0.2-py3-none-any.whl (4.6 kB 查看哈希值)

上传时间 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页面