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

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.2
File Size Uploaded
jevrake-0.2.2.tar.gz 18.0 kB Details

Built distribution (wheel)

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

Total release size: 40.5 kB

Release files / jevrake-0.2.2.tar.gz

Download URL jevrake-0.2.2.tar.gz
Size 18.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ef7b409df99795e3e87957b2643c9cb717a111b40735e74b229c7a466ce0edc1
BLAKE2b-256 checksum
How to use checksums
100fdeb732cf41b7f55406d8471642bf4ca59e3c7d1816f68595fd0216605473
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.19

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

Download URL jevrake-0.2.2-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d86d6711f85f8b66d0f9f9217a2d47c21f55620811eadaec655547adb57c13e5
BLAKE2b-256 checksum
How to use checksums
9aff6be41cdb184fe956d123098716df7110736ebd5d2f39f12e1e1770b21554
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.19

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

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