如何使用python proxybroker方法从本地文件夹中抓取和旋转代理

问题描述

我正在使用一个脚本来抓取和旋转来自在线资源的公共代理(来自不同网站的免费代理列表),我使用代理代理工具(python)直到现在一切正常,但我正在寻找如何获取我的隐私的方法来自我的语言环境机器中的文本或 csv 文件的代理列表,并每 x 次旋转一次。 服务

运行一个本地代理服务器,将传入请求分发到一个具有高度匿名性的已找到的 HTTP(S) 代理池:

$ proxybroker serve --host 127.0.0.1 --port 8888 --types HTTP HTTPS --lvl High

对外部代理的传入请求。"""

import asyncio
import aiohttp

from proxybroker import broker


async def get_pages(urls,proxy_url):
    tasks = [fetch(url,proxy_url) for url in urls]
    for task in asyncio.as_completed(tasks):
        url,content = await task
        print('Done! url: %s; content: %.100s' % (url,content))


async def fetch(url,proxy_url):
    resp = None
    try:
        async with aiohttp.ClientSession() as session:
            async with session.get(url,proxy=proxy_url) as response:
                resp = await response.read()
    except (aiohttp.errors.ClientOSError,aiohttp.errors.ClientResponseError,aiohttp.errors.ServerdisconnectedError) as e:
        print('Error. url: %s; error: %r' % (url,e))
    finally:
        return (url,resp)


def main():
    host,port = '127.0.0.1',8888  # by default

    loop = asyncio.get_event_loop()

    types = [('HTTP','High'),'HTTPS','CONNECT:80']
    codes = [200,301,302]

    broker = broker(max_tries=1,loop=loop)

    # broker.serve() also supports all arguments that are accepted
    # broker.find() method: data,countries,post,strict,dnsbl.
    broker.serve(host=host,port=port,types=types,limit=10,max_tries=3,prefer_connect=True,min_req_proxy=5,max_error_rate=0.5,max_resp_time=8,http_allowed_codes=codes,backlog=100)

    urls = ['http://httpbin.org/get','https://httpbin.org/get','http://httpbin.org/redirect/1','http://httpbin.org/status/404']

    proxy_url = 'http://%s:%d' % (host,port)
    loop.run_until_complete(get_pages(urls,proxy_url))

    broker.stop()


if __name__ == '__main__':
    main()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...