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/.
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 | |
|---|---|---|---|
| crawlio-2.3.3.tar.gz | 17.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crawlio-2.3.3-py3-none-any.whl | Python 3 | none | any | Details |
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
|