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

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.1
File Size Uploaded
jevrake-0.2.1.tar.gz 17.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jevrake 0.2.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.2.2

2 release files

This release

0.2.1 This release

2 release files

0.2.0

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