Skip to main content

os-scrapy-uvicorn

Build Status codecov PyPI - Python Version PyPI

This project provide a extension to start a ASGI http server(Uvicorn) along with Scrapy in the same process.

You can use the ASGI framework(recommend FastAPI) to create app to communicate with Scrapy.

Require: Python 3.6+, Scrapy 2.0+

Install

pip install os-scrapy-uvicorn

You can run example spider directly in the project root path

scrapy crawl example

Settings

  • use asyncio reactor

    TWISTED_REACTOR = "twisted.internet.asyncioreactor.AsyncioSelectorReactor"
    

    or you can use os-scrapy(installed with this project) to start crawling with -r command line option

    os-scrapy crawl -r asyncio example
    
  • enable extension

    EXTENSIONS = {
        "os_scrapy_uvicorn.Uvicron": 1,
    }
    
  • app path, you can use ASGI app frameworks to create your app, FastAPI is recommended

    UVICORN_APP = "app_module:app"
    
  • uvicorn server settings, supported settings

    UVICORN_CONFIG = {"host": "0.0.0.0", "port": 5000}
    
  • when the server started, Scrapy crawler instance is attached to the app, it is the entrypoint to commnicate with Scrapy

Unit Tests

sh scripts/test.sh

License

MIT licensed.

Metadata

Release files for os-scrapy-uvicorn 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for os-scrapy-uvicorn 0.0.1
File Size Uploaded Provenance
os_scrapy_uvicorn-0.0.1.tar.gz 7.3 kB Without provenance Details

Release files / os_scrapy_uvicorn-0.0.1.tar.gz

Download URL os_scrapy_uvicorn-0.0.1.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
37bee1f829317d692b5205b44acefa88cb87b3cfab55e6d017fedc5c8ada89bb
BLAKE2b-256 checksum
How to use checksums
89aa846d31e159a29927f959ca112f03764783e65dc410e50a00290814954926
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.7

Security for os-scrapy-uvicorn 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page