Skip to main content

A secure python library for fetching data with async, JS, and Tor support

Project description

PyGrab

PyGrab is a Python library for making HTTP requests. It is designed to be fully interoperable with the popular requests package in Python. All functions in PyGrab that make HTTP requests return requests.Response objects, making it easy to integrate into existing projects that use requests.

References

Features

  • Simple: PyGrab's API is designed to be straightforward and easy to use. If you're familiar with requests, you'll feel right at home.
  • Flexible: Whether you need to make a simple GET request, post data to a server, or download a file, PyGrab has you covered.
  • Asynchronous Support: PyGrab includes functions for making asynchronous HTTP requests, allowing you to efficiently grab data from multiple URLs at once.
  • JavaScript Support: PyGrab can render JavaScript-enabled websites, allowing you to grab data from dynamic web pages.
  • Interface with Tor Network: PyGrab includes built-in support for routing requests through the tor network.
  • Automated IP Rotation: PyGrab includes built-in support for rotating connections to the Tor Network.

Installation

You can install PyGrab using pip:

pip install pygrab

Usage

Here's a simple example of how to use PyGrab to make a GET request:

import pygrab

response = pygrab.get('http://example.com')
print(response.text)

In this example, response is a requests.Response object. You can use it just like you would in requests.

Here's an example of how to use PyGrab to make asynchronous GET requests through the Tor Network:

import pygrab

pygrab.Tor.start_tor()

urls = ['http://example.com', 'http://example.org', 'http://example.net']
responses = pygrab.get_async(urls)

for response in responses.values():
    print(response.text)

In this example, responses is a dictionary of urls matched to their respective requests.Response objects. Each response corresponds to the URL at the same index in the urls list.

Contributing

Contributions are welcome. Please submit a pull request with any improvements.

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

pygrab-2.0.10.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

pygrab-2.0.10-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file pygrab-2.0.10.tar.gz.

File metadata

  • Download URL: pygrab-2.0.10.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pygrab-2.0.10.tar.gz
Algorithm Hash digest
SHA256 22313b47e31c386b4c2ec2bab4a4afb588b0953bdefffe5f1da678b910c43a35
MD5 0740305544ac32120cfb11fef621f89b
BLAKE2b-256 9b0e042bd353b051bcbd783c6c516d821b6865a85f87a7d8d3bb83d59ec2b7aa

See more details on using hashes here.

File details

Details for the file pygrab-2.0.10-py3-none-any.whl.

File metadata

  • Download URL: pygrab-2.0.10-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pygrab-2.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 e67bd816a7f402faff4a9dfc46aafec9c926f970469623aa1ede6c5461e5b3a6
MD5 a7889f788d25dea1244901e5f0f0dd1c
BLAKE2b-256 011e2d7371b1adbe59f7c0583872dabf7f091dd257e1a0bccd5b0a6298568091

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