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 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)

Source distribution for jevrake 0.1.1
File Size Uploaded
jevrake-0.1.1.tar.gz 18.0 kB Details

Built distribution (wheel)

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

Release history Release notifications | RSS feed

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

This release

0.1.1 This release

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