Skip to main content

A module to wrap PProxy and allow more proxy options in Scrapy

Project description

ScrapyProxyCompat

Introduction

ScrapyProxyCompat is a Python module that wraps pproxy to allow a greater range of proxy types to be used with Scrapy. It supports any type of remote connection that is supported by pproxy. This module should be used with a rotating proxy middleware such as scrapy-rotating-proxy. The middleware that you write or choose to use must accept a file input made up of one proxy server per line if you would like to use the writeProxies(filePath) method. For example:

http://127.0.0.1:2000
http://127.0.0.1:2001
http://127.0.0.1:2002

Installation

To install ScrapyProxyCompat run pip install ScrapyProxyCompat

Usage

To begin using ScrapyProxyCompat, create an instance of the ScrapyProxyController class.

from ScrapyProxyCompat import ScrapyProxyController

# Usage: ScrapyProxyController(retry_time:float=300.0, retry_count: int=5, proxies:list=[], starting_port:int=2000)
# Where:
# retry_time is optional, the amount of time in seconds to wait before retrying a pproxy connection that has exited
# retry_count is optional, the number of times to retry establishing a pproxy connection before allowing the Thread to die
# proxies is an optional list of proxies following the normal PProxy syntax: [http, socks, ss, ssl, secure (Or a combination of these)]://ip_address:port#username:password
# starting_port is an optional valid port number to be used as the starting local port. You should expect it to use this port +1 for each proxy
controller = ScrapyProxyController(500.0, 10, ["http+ssl://proxyip.com:2323#Good:Creds"], 3000)

If you provided a proxy list when creating the ScrapyProxyController, you can now start your proxies.

controller.startProxies()

If you did not provide a proxy list when creating the ScrapyProxyController, you must read your proxies from a text file made up of one proxy server per line. This function may also be used to overwrite the passed proxies before the proxies have been started.

# Usage: ScrapyProxyController.readProxies(filePath)
# Where:
# filePath is the String path to the file you want to read
controller.readProxies("/path/to/remote/proxies/file.txt")

Once you have started your proxies, you can get a list of all proxy Threads with getProxies() or get a list of all local proxy addresses with getProxyAddresses(). You can also write the proxies to a file. Typically this will be a Scrapy proxy file.

# Usage: ScrapyProxyController.writeProxies(filePath)
# Where:
# filePath is the String path to the file you want to write
controller.writeProxies("/path/to/scrapy/proxies/file.txt")

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

ScrapyProxyCompat-0.1.2.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ScrapyProxyCompat-0.1.2-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file ScrapyProxyCompat-0.1.2.tar.gz.

File metadata

  • Download URL: ScrapyProxyCompat-0.1.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for ScrapyProxyCompat-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fbb2f4b4328ae0560db1970861f6ab571bd04370e74fa136552bbccc36a4dd36
MD5 c88d556b447df1ae5e3e3194859de43e
BLAKE2b-256 2c1d4528f26096bc8b48b9ef1b487f0674d43b8caa5e3ff509abce9f8596d783

See more details on using hashes here.

File details

Details for the file ScrapyProxyCompat-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ScrapyProxyCompat-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for ScrapyProxyCompat-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 73866be5d424f2f3ef2bf5940b1742f4ec2e971ac346f2033652c6b73ae6e96f
MD5 845cd13d2a6b607f2af912d034a4ac9d
BLAKE2b-256 00679f4de2d108d5a859cddc838bcb0d1ddd80651ec372221ed8273967584771

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