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.0.78.tar.gz (43.6 kB view details)

Uploaded Source

File details

Details for the file WebRequest-0.0.78.tar.gz.

File metadata

  • Download URL: WebRequest-0.0.78.tar.gz
  • Upload date:
  • Size: 43.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for WebRequest-0.0.78.tar.gz
Algorithm Hash digest
SHA256 a9e905d1e3ec3ca50e2c448b50a2568d21d848824faf41e3868e0945aa870a68
MD5 28353d964c09913a6d44b3cc081f97d6
BLAKE2b-256 5e31fce1e7d8ff01beae65221e9ab848d4c49b8c2a5a0d09f3ada97bce04a0b0

See more details on using hashes here.

Supported by

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