问题描述
我正在使用一个脚本来抓取和旋转来自在线资源的公共代理(来自不同网站的免费代理列表),我使用代理代理工具(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 (将#修改为@)