网页在线代理 在线代理网址

时间:2023-04-30 06:59/span> 作者:tiger 分类: 新知 浏览:4450 评论:0

使用提示

1.基于aiohttp的代码样例支持访问http,http网页

2.aiohttp不是python原生库,需要安装才能使用: pip install aiohttp

3.aiohttp只支持Python3.5及以上

4.如Windows系统使用aiohttp访问http网站抛出异常,在import asyncio后调用 asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())即可解决。

  • !/usr/bin/env python
  • -*- coding: utf-8 -*-
  • &34;&34;&34;
  • 使用aiohttp请求代理服务器
  • 请求http和http网页均适用
  • &34;&34;&34;
  • import random
  • import asyncio
  • asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) windows系统请求http网站报错时调用此方法
  • import aiohttp
  • import requests
  • page_url = &34;http://icanhazip.com/origin/&34; 要访问的目标网页
  • API接口,返回格式为json
  • api_url = &34;http://dps.kdlapi.com/origin/api/getdps/?orderid=9266892014xxxxx&signature=xxxxx&num=5&pt=1&format=json&sep=1&34; API接口
  • API接口返回的proxy_list
  • proxy_list = requests.get(api_url).json().get(&39;data&39;).get(&39;proxy_list&39;)
  • 用户名密码认证(私密代理/独享代理)
  • username = &34;username&34;
  • password = &34;password&34;
  • proxy_auth = aiohttp.BasicAuth(username, password)
  • async def fetch(url):
  • async with aiohttp.ClientSession() as session:
  • async with session.get(url, proxy=&34;http://&34; + random.choice(proxy_list), proxy_auth=proxy_auth) as resp:
  • content = await resp.read()
  • print(f&34;status_code: {resp.status}, content: {content}&34;)
  • def run():
  • loop = asyncio.get_event_loop()
  • 异步发出5次请求
  • tasks = [fetch(page_url) for _ in range(5)]
  • loop.run_until_complete(asyncio.wait(tasks))
  • if __name__ == &39;__main__&39;:
  • run()

文章评论