Skip to main content

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.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jevrake 0.2.0
File Size Uploaded
jevrake-0.2.0.tar.gz 18.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jevrake 0.2.0
File Interpreter ABI Platform
jevrake-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 41.5 kB

Release files / jevrake-0.2.0.tar.gz

Download URL jevrake-0.2.0.tar.gz
Size 18.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5f49ff1c4d68b1fb9ed88aefe08a7a7c6d87343ba4a359e5b16aee1f4c17d163
BLAKE2b-256 checksum
How to use checksums
d8a6360702093b3fe6d9b9d0ef922dd408c9ddd741150c03e2df16d83cd285c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.19

Release files / jevrake-0.2.0-py3-none-any.whl

Download URL jevrake-0.2.0-py3-none-any.whl
Size 23.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5780199a01aecba02b44d2a2322b9b6a28336d2fabf80d533fced065bbbf3f94
BLAKE2b-256 checksum
How to use checksums
2d027bbde1a15b8c260cfb0d3c644ae47f9994d39387a209e1fefe721b6be5b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.19

Release history Release notifications | RSS feed

0.2.2

2 release files

0.2.1

2 release files

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page