crawlio
Asynchronous web crawling and scraping with Python for minimalists
Warning: this project is under active development and not yet production-ready!
Features
- Crawling: download an entire website in just a few seconds
- Scraping: Customizable XPath & CSS data selectors (using
parsel) - Zero-configuration: get up and running with ~5 LoC
- Interfaces: Web UI + JSON API powered by FastAPI & VueJS
Built with asyncio, aiohttp and 🍺
Setup
pip install crawlio
Usage
import asyncio
from crawlio import Crawler, Selector
bot = Crawler(
url='https://quotes.toscrape.com/',
selectors=[
Selector('links', '//a/@href'),
Selector('heading', type='xpath', query='//h3//text()', process=lambda items: ' '.join(items))
]
)
output = asyncio.run(bot.run())
for item in output["data"]:
print(item)
License
Copyright (C) 2021 Maximilian Wolf
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Metadata
Release files for crawlio 2.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| crawlio-2.3.3.tar.gz | 17.1 kB | Without provenance | Details for crawlio-2.3.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| crawlio-2.3.3-py3-none-any.whl | Python 3 | none | any | Details for crawlio-2.3.3-py3-none-any.whl |
Total release size: 36.1 kB
Release files / crawlio-2.3.3.tar.gz
| Download URL | crawlio-2.3.3.tar.gz |
|---|---|
| Size | 17.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5345120aeab4372f13b43bfe23f9988c5c00424ecc9b12be1e9e22f9c8d96491
|
|
BLAKE2b-256 checksum How to use checksums |
e44e72e9e77b63aae23f7b9a31437ecb7a43559b49456f1afad94f63a8c538fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2
|
Release files / crawlio-2.3.3-py3-none-any.whl
| Download URL | crawlio-2.3.3-py3-none-any.whl |
|---|---|
| Size | 19.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3999047d47f5374c6323643fbbe30df26171fd51c6d216dfee00dc899fa4b3b4
|
|
BLAKE2b-256 checksum How to use checksums |
deaec5a08ef29001180ccc3508c4109d401677b3cfe5ff028f605f23de3df993
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2
|
Security for crawlio 2.3.3
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.