English | 日本語
jevrake — a scraping tool powered by Jev
Example on books.toscrape.com, a site made for scraping practice:
jevrake https://books.toscrape.com/ --fields '{"title": "Book title", "price": {"description": "Price", "type": "decimal"}, "availability": "Availability"}'
Output (1 of the 20 books on the page):
{
"url": "https://books.toscrape.com/",
"data": {
"title": "A Light in the ...",
"price": "51.77",
"availability": "In stock"
},
"fields": {
"title": {"value": "A Light in the ...", "confidence": 1.0, "probability": 1.0, "source": "A Light in the ..."},
"price": {"value": "51.77", "confidence": 0.98, "probability": 0.99, "source": "£51.77"},
"availability": {"value": "In stock", "confidence": 1.0, "probability": 1.0, "source": "In stock"}
}
}
Install
pipx install jevrake
export TYPESAFE_API_KEY=your-api-key
Usage
jevrake https://example.com/item/1 --fields '{"title": "Product name", "price": {"description": "Price", "type": "int"}}'
Or from Python:
from pydantic import BaseModel, Field
from jevrake import rake
class Product(BaseModel):
title: str = Field(description="Product name")
price: int = Field(description="Price")
results = rake(["https://example.com/item/1"], Product)
A runnable example is in examples/example.py.
jevrake collects every value on the page that matches each field's type, and Jev picks the one that fits the description. Values always come from the page.
- Works on list pages too: each item in the list (e.g. each shop) is output separately
- Types:
str,int,float,decimal - A value that is not found, or found with confidence below 0.9, becomes
null - robots.txt is not checked. Please make sure you follow each site's rules.
License
MIT
Metadata
Release files for jevrake 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jevrake-0.2.2.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jevrake-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.5 kB
Release files / jevrake-0.2.2.tar.gz
| Download URL | jevrake-0.2.2.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef7b409df99795e3e87957b2643c9cb717a111b40735e74b229c7a466ce0edc1
|
|
BLAKE2b-256 checksum How to use checksums |
100fdeb732cf41b7f55406d8471642bf4ca59e3c7d1816f68595fd0216605473
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|
Release files / jevrake-0.2.2-py3-none-any.whl
| Download URL | jevrake-0.2.2-py3-none-any.whl |
|---|---|
| Size | 22.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d86d6711f85f8b66d0f9f9217a2d47c21f55620811eadaec655547adb57c13e5
|
|
BLAKE2b-256 checksum How to use checksums |
9aff6be41cdb184fe956d123098716df7110736ebd5d2f39f12e1e1770b21554
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|