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 git+https://github.com/RKasai127/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.1
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.1.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jevrake-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.7 kB
Release files / jevrake-0.1.1.tar.gz
| Download URL | jevrake-0.1.1.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cdeb0e11c18f87e40007171699f02dcbfef08f3068904744f7af1f278db6d83b
|
|
BLAKE2b-256 checksum How to use checksums |
47e6889be2094fb2c7d706a242fe123c2b300d80663373ac68d71d16c2c946ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|
Release files / jevrake-0.1.1-py3-none-any.whl
| Download URL | jevrake-0.1.1-py3-none-any.whl |
|---|---|
| Size | 22.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9611c4a5aad1fcf12f855fc6e1e92b0e237efcdca6cfe05629d2469428050e3c
|
|
BLAKE2b-256 checksum How to use checksums |
093bd150077fcec48090b2141b53baa9421d7e1d4cc00ce573e3c750444266ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|