================
proxy-randomizer
================
.. image:: https://img.shields.io/pypi/v/proxy_randomizer.svg?version=latest
:target: https://pypi.python.org/pypi/proxy_randomizer
.. image:: https://readthedocs.org/projects/proxy-randomizer/badge/?version=latest
:target: https://proxy-randomizer.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://static.pepy.tech/personalized-badge/proxy-randomizer?period=total&units=international_system&left_color=black&right_color=orange&left_text=Downloads
:target: https://pepy.tech/project/proxy-randomizer
:alt: Total Downloads
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Black Formater
proxy randomizer
* Free software: MIT license
* Documentation: https://proxy-randomizer.readthedocs.io.
Description
------------------
Inpired by `http-request-randomizer`_
proxy_randomizer is intended to use for small-meduim web scrapers/crawlers, helping to avoid
temporal/permanent bans from web pages, generating random proxies to include in the requests
Installation
------------
.. code-block:: python
pip install proxy_randomizer
API
---
To use proxy_randomizer in your code, you just need to generate a
RegisteredProviders instance and parse the providers.
.. code-block:: python
from proxy_randomizer import RegisteredProviders
rp = RegisteredProviders()
rp.parse_providers()
print(f"proxy: {rp.get_random_proxy()}")
You can iterate throughout all proxies as simple as this.
.. code-block:: python
from proxy_randomizer import RegisteredProviders
import requests
rp = RegisteredProviders()
rp.parse_providers()
for proxy in rp.proxies:
proxies = {"https": proxy.get_proxy()}
response = requests.get("http://google.com", proxies=proxies)
If you need to hide your identity, you can filter the proxy list by its
anonymity level.
.. code-block:: python
from proxy_randomizer import RegisteredProviders
from proxy_randomizer.proxy import Anonymity
rp = RegisteredProviders()
rp.parse_providers()
anonymous_proxies = list(
filter(lambda proxy: proxy.anonymity == Anonymity.ANONYMOUS, rp.proxies)
)
print(f"filtered proxies: {anonymous_proxies}")
There are four different anonymity levels, you can inspect them like this
.. code-block:: python
from proxy_randomizer.utils import ANONYMITY_LEVELS
for level in ANONYMITY_LEVELS:
print(level.label)
Command-line interface
----------------------
If you need some quick proxy, just type this in your terminal.
.. code-block:: bash
proxy_randomizer
Credits
-------
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
.. _`http-request-randomizer`: https://github.com/pgaref/HTTP_Request_Randomizer
=======
History
=======
1.3.5 (2023-01-03)
------------------
* Move CI from Travis to GitHub Actions
* Fix a bug in the project version bumps script
1.3.4 (2023-01-03)
------------------
* Fix security issue
1.3.3 (2021-08-30)
------------------
* Fix versions bumps
1.3.2 (2021-08-30)
------------------
* Add python3.9 to travis cli
1.3.1 (2021-08-30)
------------------
* Fix table not found error and some updates
* Upate table selector and tests
* Add python 3.9 compatibility in the config
1.3.0 (2021-01-06)
------------------
* Bump lxml from 4.5.0 to 4.6.2
* Change dev dependencies
1.2.1 (2020-12-23)
------------------
* Fix dependencies versions
1.2.0 (2020-12-23)
------------------
* Refactor code
0.1.0 (2020-08-02)
------------------
* First release on PyPI.
Raw data
{
"_id": null,
"home_page": "https://github.com/esequiel378/proxy_randomizer",
"name": "proxy-randomizer",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "proxy_randomizer",
"author": "Esequiel Albornoz",
"author_email": "esequielalbornoz7@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/cc/10/3f699571fa090dad9ac66fdc956af49d42bdd164632047c57e092284672f/proxy_randomizer-1.3.5.tar.gz",
"platform": null,
"description": "================\nproxy-randomizer\n================\n\n\n.. image:: https://img.shields.io/pypi/v/proxy_randomizer.svg?version=latest\n :target: https://pypi.python.org/pypi/proxy_randomizer\n\n.. image:: https://readthedocs.org/projects/proxy-randomizer/badge/?version=latest\n :target: https://proxy-randomizer.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://static.pepy.tech/personalized-badge/proxy-randomizer?period=total&units=international_system&left_color=black&right_color=orange&left_text=Downloads\n :target: https://pepy.tech/project/proxy-randomizer\n :alt: Total Downloads\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/psf/black\n :alt: Black Formater\n\n\nproxy randomizer\n\n\n* Free software: MIT license\n* Documentation: https://proxy-randomizer.readthedocs.io.\n\n\nDescription\n------------------\n\nInpired by `http-request-randomizer`_\n\nproxy_randomizer is intended to use for small-meduim web scrapers/crawlers, helping to avoid\ntemporal/permanent bans from web pages, generating random proxies to include in the requests\n\n\nInstallation\n------------\n\n.. code-block:: python\n\n pip install proxy_randomizer\n\n\nAPI\n---\n\nTo use proxy_randomizer in your code, you just need to generate a\nRegisteredProviders instance and parse the providers.\n\n.. code-block:: python\n\n from proxy_randomizer import RegisteredProviders\n\n rp = RegisteredProviders()\n rp.parse_providers()\n\n print(f\"proxy: {rp.get_random_proxy()}\")\n\n\nYou can iterate throughout all proxies as simple as this.\n\n.. code-block:: python\n\n from proxy_randomizer import RegisteredProviders\n import requests\n\n rp = RegisteredProviders()\n rp.parse_providers()\n\n for proxy in rp.proxies:\n\n proxies = {\"https\": proxy.get_proxy()}\n response = requests.get(\"http://google.com\", proxies=proxies)\n\n\nIf you need to hide your identity, you can filter the proxy list by its\nanonymity level.\n\n.. code-block:: python\n\n from proxy_randomizer import RegisteredProviders\n from proxy_randomizer.proxy import Anonymity\n\n rp = RegisteredProviders()\n rp.parse_providers()\n\n anonymous_proxies = list(\n filter(lambda proxy: proxy.anonymity == Anonymity.ANONYMOUS, rp.proxies)\n )\n\n print(f\"filtered proxies: {anonymous_proxies}\")\n\n\nThere are four different anonymity levels, you can inspect them like this\n\n.. code-block:: python\n\n from proxy_randomizer.utils import ANONYMITY_LEVELS\n\n for level in ANONYMITY_LEVELS:\n print(level.label)\n\n\nCommand-line interface\n----------------------\n\nIf you need some quick proxy, just type this in your terminal.\n\n.. code-block:: bash\n\n proxy_randomizer\n\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n.. _`http-request-randomizer`: https://github.com/pgaref/HTTP_Request_Randomizer\n\n\n=======\nHistory\n=======\n\n1.3.5 (2023-01-03)\n------------------\n\n* Move CI from Travis to GitHub Actions\n* Fix a bug in the project version bumps script\n\n1.3.4 (2023-01-03)\n------------------\n\n* Fix security issue\n\n1.3.3 (2021-08-30)\n------------------\n\n* Fix versions bumps\n\n1.3.2 (2021-08-30)\n------------------\n\n* Add python3.9 to travis cli\n\n1.3.1 (2021-08-30)\n------------------\n\n* Fix table not found error and some updates\n\n* Upate table selector and tests\n\n* Add python 3.9 compatibility in the config\n\n1.3.0 (2021-01-06)\n------------------\n\n* Bump lxml from 4.5.0 to 4.6.2\n\n* Change dev dependencies\n\n1.2.1 (2020-12-23)\n------------------\n\n* Fix dependencies versions\n\n1.2.0 (2020-12-23)\n------------------\n\n* Refactor code\n\n0.1.0 (2020-08-02)\n------------------\n\n* First release on PyPI.\n\n\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "proxy randomizer",
"version": "1.3.5",
"split_keywords": [
"proxy_randomizer"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a67a966cc613c994d88844e34b39d737ce7cf554e8a85be6ae730b9d52df673f",
"md5": "9f63f81ef409a33abf013604db829ab0",
"sha256": "73d6b910b7dbdc84f158ee14e261455181b86d265dbbbb7f4f1fc5cff365a0bc"
},
"downloads": -1,
"filename": "proxy_randomizer-1.3.5-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "9f63f81ef409a33abf013604db829ab0",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 8678,
"upload_time": "2023-01-03T15:39:52",
"upload_time_iso_8601": "2023-01-03T15:39:52.207109Z",
"url": "https://files.pythonhosted.org/packages/a6/7a/966cc613c994d88844e34b39d737ce7cf554e8a85be6ae730b9d52df673f/proxy_randomizer-1.3.5-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cc103f699571fa090dad9ac66fdc956af49d42bdd164632047c57e092284672f",
"md5": "f079ddb8a8aad4b5fdb493c5ca82a218",
"sha256": "97f29864200f3aed39bf747e569516a55cf75d9fddd82283e3fc6349474a36b0"
},
"downloads": -1,
"filename": "proxy_randomizer-1.3.5.tar.gz",
"has_sig": false,
"md5_digest": "f079ddb8a8aad4b5fdb493c5ca82a218",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 40006,
"upload_time": "2023-01-03T15:39:54",
"upload_time_iso_8601": "2023-01-03T15:39:54.179469Z",
"url": "https://files.pythonhosted.org/packages/cc/10/3f699571fa090dad9ac66fdc956af49d42bdd164632047c57e092284672f/proxy_randomizer-1.3.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-03 15:39:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "esequiel378",
"github_project": "proxy_randomizer",
"travis_ci": true,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "proxy-randomizer"
}