Пакет py-valid-proxy

Олег Суворинов Чт 23 ноября 2023 10:00 2 мин

Реализуя проекты с использованием web-scraping’a, некоторые запросы приходилось делать через прокси-сервера. Про получение списка свободных прокси напишу позже, готовлю отдельный пакет. Имея адрес прокси-сервера, перед запросом с его использованием, захотелось проверить его “живучесть”, схему по которой работает, время ответа, анонимность. Из за этих “хотелок”, занялся созданием пакета py-valid-proxy, что-бы в дальнейшем использовать в своих проектах, да и … нарастить “Python muscle mass”. Адреса прокси от Free Proxy List.

Установить

    pip install py-valid-proxy

Использовать
в скриптах:

    import pprint
    from py_valid_proxy import valid_proxy

    """Valid proxy server ('alive' or 'dead')

    Parameters
    ----------
    host : str
        IP Address
    port : int
        Port
    scheme: str, optional
        Scheme (default is 'http')
    timeout: int, optional
        Connect timeout is number of seconds (default is 5 sec.)
    Returns
    -------
        None if proxy is 'dead'
        class Proxy if proxy is 'alive'
    """
    proxy_info = valid_proxy('8.219.97.248', 80, 'https', 10)
    if proxy_info:
        print('is alive')
        pprint(proxy_info)
    else:
        print('is dead')

в команндной строке:

    $ valid_proxy -h
    usage: valid_proxy [-h] -ip IP -p P [-s {http,https,socks4,socks5}] [-t T] [-V]

    Valid the functionality of the proxy server

    options:
      -h, --help            show this help message and exit
      -ip IP                IP address of proxy server
      -p P                  PORT of proxy server
      -s {http,https,socks4,socks5}
                            SCHEME of proxy server
      -t T                  The connect timeout is the number of seconds
      -V, --version         show program's version number and exit

    $ valid_proxy -ip 12.186.205.120 -p 80 -s http
    http://12.186.205.120:80 ... is alive
    anonymity: high_anonymous
    country: US
    response time: 4.71 (secs)

    $ valid_proxy -ip 12.186.205.120 -p 80 -s https 
    https://12.186.205.120:80 ... is alive
    anonymity: transparent
    country: US
    response time: 0.5 (secs)

    $ valid_proxy -ip 2.189.59.54 -p 80
    http://2.189.59.54:80 ... is dead

Read more:

Related posts: