- 38
- 0
我在做网络爬虫的时候,由于该网站需要代理IP,所以我需要给我的程序加上IP,我尝试像下面的代码增加代理,但是代码不能正常运行:
import asyncio
import aiohttp
from bs4 import BeautifulSoup
ids = ['1', '2', '3']
async def fetch(session, id):
print('Starting {}'.format(id))
url = f'https://www.testing.com/{id}'
async with session.get(url) as response:
return BeautifulSoup(await response.content, 'html.parser')
async def main(id):
proxydict = {"http": 'xx.xx.x.xx:xxxx', "https": 'xx.xx.xxx.xx:xxxx'}
async with aiohttp.ClientSession(proxy=proxydict) as session:
soup = await fetch(session, id)
if 'No record found' in soup.title.text:
print(id, 'na')
loop = asyncio.get_event_loop()
future = [asyncio.ensure_future(main(id)) for id in ids]
loop.run_until_complete(asyncio.wait(future))
错误提示说的是没有‘proxy’这个参数,但是根据这个网址:https://github.com/aio-libs/a... 应该是可以运行的。可以看了源码感觉没有这个参数。这个问题该怎么解决,谢谢!
- 共 0 条
- 全部回答
-
越来越小 普通会员 1楼
在Aiohttp中,你可以使用
proxies参数来设置代理。proxies参数是一个字典,其中键是URL,值是代理的URL。以下是一个简单的示例:
```python from aioredis import create_client, Client
async def main(): client = await create_client("redis://localhost:6379/0") client.proxies = { "http": "http://proxy.example.com:3128", "https": "https://proxy.example.com:3128" } await client.connect() print("Connected to the server")
asyncio.run(main()) ```
在这个示例中,我们首先创建了一个
Client对象,然后设置了代理的URL。然后,我们使用connect方法来连接到服务器。注意,代理的URL应该是服务器的公开端口或端点,而不是端口号或端点本身。例如,如果你的服务器的公开端口是3000,那么代理的URL应该是
http://proxy.example.com:3128。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

