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.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.2.1.tar.gz | 17.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jevrake-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.1 kB
Release files / jevrake-0.2.1.tar.gz
| Download URL | jevrake-0.2.1.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a5329a475db1bf2f9e92cfd60fbdcc97490086cb55c3a6b2bfb48ebacc921041
|
|
BLAKE2b-256 checksum How to use checksums |
29b9d6cc9c81481bc630a09a03c5a580ce0def405228fd38ff784f949c60b7de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|
Release files / jevrake-0.2.1-py3-none-any.whl
| Download URL | jevrake-0.2.1-py3-none-any.whl |
|---|---|
| Size | 22.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d54505ff9703d0cd913825f1ac7d8ed82ef4788c54fb20995494643d88695a0d
|
|
BLAKE2b-256 checksum How to use checksums |
295817294c92421fc1f0b2c3345d5b5a2764958552ebaebfad553acb68bd83d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.19
|