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)
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 repeated item (e.g. each shop in a list) becomes one record
- 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.1.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.1.2.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jevrake-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.7 kB
Release files / jevrake-0.1.2.tar.gz
| Download URL | jevrake-0.1.2.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
466585d00d78b628382eab2fdf597c64ea6a962a6e16cdecbf3a9372a36aefe4
|
|
BLAKE2b-256 checksum How to use checksums |
a3c016c3416937abf26867dde355fa663a46467cc13034a71e270175f7431135
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|
Release files / jevrake-0.1.2-py3-none-any.whl
| Download URL | jevrake-0.1.2-py3-none-any.whl |
|---|---|
| Size | 22.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
acc0b170569fda9ee433135c60017c6d632dd9b699b54bbd365bf394a5963617
|
|
BLAKE2b-256 checksum How to use checksums |
2954b091fe0f220540475258565487bab9374cdabeb510dd5a3a25b188d2a4cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|