Skip to main content

Like `requests`, but shittier.

Project description

WebRequest Build StatusCoverage Status

Like the requests library, but less good.

Provides convenience functions for writing web-scrapers and other web-interactive things. Built-in support for working through CloudFlare's garbage JS browser checks without any intervention, as well as some other garbage web-application firewalls that seem intent on breaking the internet.

Built-in user-agent randomization. Support for fetching rendered content via headless chrome. Built on top of my ChromeController project, so it can avoid some of the spectacularly stupid design decisions in selenium.

Default support for compressed transfers.

Basically, the overall goal is to have a simple library that acts as much as possible like a "real" browser. Ideally, it should be indistinguishable from an actual browser from the perspective of the remote HTTP(s) server.

Other useful bits:

API wrappers for 2captcha.com and anticaptcha.com which include automatic local reverse-proxy spinup for reflecting recaptcha requests through your local host address. This involves spinning up a transient SOCKS5 proxy, setting up a limited duration port-forward (10 minutes, via UPnP), and actual synchronous captcha solving calls.

The proxy setup/UPnP setup functions are generic enough that they should be useful for any captcha-solver-related tasks. If you'd like support for another solver site (and are willing to throw a few bucks of credit on a solver site to me), I can probably add that other site too.

Q: Why
A: Because I started writing horrible web-scraper things in 2008, when the requests library wasn't really a thing.

Q: Why still, then?
A: Anger and spite, mostly.

Q: No, really, why
A: Ok, Because I want to download the internet, and idiots post stuff, and then try to "protect" it from scraping with stupid jerberscript bullshit.

Note: If your non-interactive webite requires me to execute javascript to view it, FUCK YOU, you are a horrible person who is actively ruining the internet.

License: WTFPL

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

webrequest-0.1.0.tar.gz (40.2 kB view details)

Uploaded Source

File details

Details for the file webrequest-0.1.0.tar.gz.

File metadata

  • Download URL: webrequest-0.1.0.tar.gz
  • Upload date:
  • Size: 40.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for webrequest-0.1.0.tar.gz
Algorithm Hash digest
SHA256 23668360ca4f0df66a636c032521cb2feb30fde344a17d7ea98dccd0631e0194
MD5 d57e1e9ca9f605776ecd46d2e28698a1
BLAKE2b-256 55819d4ccfa1a924c09a8823eb98ddd71e60777ca2d0362ca9ecfbd776f154af

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