Skip to main content

Requests package with QOL improvements and anti-bot detection measures

Project description

ak_requests

Requests package with QOL improvements and anti-bot detection measures

View Demo · Documentation · Report Bug · Request Feature


GitHub commit activity GitHub last commit

Table of Contents

1. About the Project

ak_requests is a Python package that provides an interface for automating requests tasks using requests package. It comes with quality of life improvements like retires, custom redirects, spacing out requests and shuffling requests to not trigger anti-bot measures

1.1. Features

  • Bulk requests handling
  • Built-in retries and timeouts
  • Can log processes to file

2. Getting Started

2.1. Installation

2.1.1. Production

Install with flit

pip install flit
flit install --deps production

Alternatively, you can use pip

pip install ak_requests

2.1.2. Development

Install with flit

  flit install --pth-file

3. Usage

from ak_requests import RequestsSession

# Initialize session
session = RequestsSession(log=False, retries=5, log_level='error') 

# Update custom header
session.update_header({'Connection': 'keep-alive'})

# set cookies
session.update_cookies([{'name':'has_recent_activity', 'value':'1'}])

# Get requests
session.get('https://reqres.in/api/users?page=2', data={}, proxies = {} ) # Can accept any requests parameters

# Change min time bet. requests
session.MIN_REQUEST_GAP = 1.5 # seconds

# Make bulk requests
urls = ['https://reqres.in/api/users?page=2', 'https://reqres.in/api/unknown']
responses = session.bulk_get(urls)

3.1. Development

  1. Open the project directory in vscode
  2. Update the app name under pyproject.toml
  3. Change the folder name from src\template_python to src\<app_name>, and propate the changes to the subfolders.
  4. Review the dependencies under pyproject.toml and remove as needed.
  5. Remove unneeded dependencies from src\<app_name>\

4. Roadmap

  • Add beautifulsoup integration
  • Proxy

5. License

See LICENSE for more information.

6. Contact

Arun Kishore - @rpakishore

Project Link: https://github.com/rpakishore/ak_requests

7. Acknowledgements

Use this section to mention useful resources and libraries that you have used in your projects.

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

ak_requests-0.0.1.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

ak_requests-0.0.1-py2.py3-none-any.whl (6.0 kB view hashes)

Uploaded Python 2 Python 3

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