Skip to main content

a Rust-based web scraping library for Python

Project description

scrapr-rs

scrapr-rs is a library for scraping HTML from the web.


Functions

  • Fetch HTML from an HTTP or HTTPS site
  • Extract specific tags (<ul>, <li>, <div>, etc.)
  • Requests with headers, cookies, and query strings

Examples

use scrapr::{fetch_url, fetch_url_with_options, RequestOptions, extract_tag};

fn main() {
    // Basic GET request
    let html = fetch_url("http://localhost:8000/demo.html");
    println!("Raw HTML:\n{}", html);

    // Extract the first <ul> tag and its contents
    let tag = extract_tag(&html, "ul");
    println!("First <ul> tag:\n{}", tag);

    // Custom headers, cookies, and query parameters
    let opts = RequestOptions {
        headers: Some({
            let mut h = std::collections::HashMap::new();
            h.insert("User-Agent".into(), "scrapr/0.1".into());
            h
        }),
        cookies: Some({
            let mut c = std::collections::HashMap::new();
            c.insert("sessionid".into(), "abc123".into());
            c
        }),
        query: Some({
            let mut q = std::collections::HashMap::new();
            q.insert("q".into(), "Rust programming".into());
            q
        }),
    };

    let response = fetch_url_with_options("https://www.wikipedia.org", opts);
    println!("Wikipedia page HTML:\n{}", response);
}
import scrapr_rs

opts = scrapr.RequestOptions(
    headers={"User-Agent": "XYZ/1.0"},
    cookies={"sessionid": "abc123"},
    query={"q": "Shrek"}
)

text = scrapr.fetch_url_with_options("https://html.duckduckgo.com/html", opts)

print(text)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scraprr-0.1.5.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scraprr-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

File details

Details for the file scraprr-0.1.5.tar.gz.

File metadata

  • Download URL: scraprr-0.1.5.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.1

File hashes

Hashes for scraprr-0.1.5.tar.gz
Algorithm Hash digest
SHA256 d27d5339bb9ce12ff25b26c92313aeed9f052fa5db81d4c9d44805fa45f92f3a
MD5 003213436607b25f81d4a07d46e54485
BLAKE2b-256 a38bca69edea289d410824be8a7497b80e98bc356589bae03071dd276880f773

See more details on using hashes here.

File details

Details for the file scraprr-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for scraprr-0.1.5-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3b8f1bbd9b279b5423ba79fca3d5932183354169868d84fc4b5c2658cd49ac10
MD5 2d20440868b2b359522ed7863cbdf92b
BLAKE2b-256 cf5cd4f6df90ddf00b662da27c1d322b1ba9924465c1a20b32af4a959a49a710

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page