问题标签 [aiohttp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 我如何在异步中使用请求?
我想在 中执行并行 http 请求任务asyncio
,但我发现这python-requests
会阻塞asyncio
. 我找到了 aiohttp但它无法使用 http 代理提供 http 请求的服务。
所以我想知道是否有办法在asyncio
.
python-3.x - 在 Python 中关闭 asyncio 事件循环会导致异常结束
对于在 Windows 上的 Python 3.4 中使用 asyncio 和 aiohttp 的 https 请求,我需要使用 2 个事件循环。用于运行 shell 命令的 ProactorEventLoop,以及用于 HTTPS 请求的默认事件循环。不幸的是,ProactorEventLoop 不适用于 HTTPS 命令。
下面的代码显示了当我使用新创建的默认事件循环并尝试在 Windows 上最后关闭它时会发生什么。如果我在最后调用,我会在最后得到异常,loop.close
如下所示:
将其注释掉会消除异常,我不知道为什么。唯一的
谢谢,格林杰
python - 你如何利用 python aiohttp 框架的代理支持
还有效吗os.environ['http_proxy']
?以及如何根据请求使用代理?
python-3.x - 连接没有通过 Python3 asyncio 并发 HTTP 获取请求关闭
我刚刚开始使用 Python3.4 中的 asyncio 库并编写了一个小程序,尝试一次同时获取 50 个网页。该程序在数百个请求后因“打开的文件过多”异常而崩溃。
我认为我的 fetch 方法使用 'response.read_and_close()' 方法调用关闭了连接。
有什么想法吗?我是否以正确的方式解决这个问题?
我得到的错误是:
python - 使用 aiohttp 检测 http 响应编码
我正在尝试学习如何使用asyncio
来构建异步网络爬虫。下面是一个粗略的爬虫来测试框架:
虽然asyncio
似乎记录得很好,但aiohttp
似乎只有很少的文档,所以我正在努力自己解决一些问题。
首先,我们有没有办法检测页面响应的编码?其次,我们可以要求连接在会话中保持活动状态吗?还是默认情况下是这样的requests
?
cookies - 使用 Asyncio 支持会话 cookie
我在 Python 中制作了一个需要与 Asyncio 一起使用的抓取脚本。我还需要它来支持网络 cookie。最初使用 urllib.request 制作,脚本如下所示:
这目前工作正常,但我还需要使用 Asyncio 使其成为多线程。由于我没有找到任何有关它的文档,因此我尝试了以下方法:
作为上下文,我试图抓取的页面是这样制作的,它们在加载时测试会话 cookie 的存在,如果不存在则创建一个,然后重定向到它们自己。现在,通过简单的抓取方法,我陷入了一个循环,并且使用 Asyncio/Aiohttp,什么都不会发生。
python - 在 Python 中使用 asyncio 并行化 Web 任务
我正试图围绕 asyncio 和 aiohttp 进行思考,多年来编程第一次让我感到完全愚蠢和无能。这有点漂亮,以一种奇怪的禅宗方式。但是,唉,还有工作要做。
我有一个现有的课程,可以在网络上做许多奇妙的事情,比如注册一个网站、获取数据、工作。现在我需要 100 或 1000 只这样的小工蜂来注册。代码大致如下:
如您所见,我们使用 requests 模块发出 POST 请求。然而这是阻塞的,所以我们必须等待工人 N 完成注册,然后才能开始注册工人 N+1。幸运的是,Worker 类的原作者(听起来很迷人的马克思主义者)以她无限的智慧将每个 HTTP 调用封装在self.make_request
方法中,因此使整个 Worker 非阻塞应该只是将请求库换成非阻塞的问题一个 aaaa 和鲍勃是你的叔叔,对吧?这是我走了多远:
但这会在我做AttributeError: 'generator' object has no attribute 'get'
的方法中引发一个问题。除此之外,我仍然没有一本整洁的字典中的工人。我知道我很可能完全误解了 asyncio 的工作原理 - 但我已经花了一天时间阅读各种文档、David Beazly 的令人震惊的教程以及大量玩具示例,这些示例足以让我理解它们适用于这种情况很简单。我应该如何构建我的工作人员和我的异步循环以并行注册 100 个工作人员并最终在他们注册后获得所有工作人员的列表?signup
self.user_id = data.get("user_id")
python - 使用 asyncio 的多个循环
是否可以使用 asyncio 进行多个循环?如果回答是肯定的,我该怎么做?我的用例是: * 我从异步网站列表中提取 url * 对于每个“子 url 列表”,我会在 async/ 中抓取它们
提取网址的示例:
如果我执行此代码,当 python 将尝试启动第二个循环时,我会遇到一个错误,女巫说一个循环已经在运行。
PS:我的模块“extractsuburls”使用 aiohttp 来执行 web 请求。
编辑:
好吧,我已经尝试过这个解决方案:
但我有这个错误:循环参数必须与未来一致
任何的想法?
python - 1个代理的异步信号量/多个池锁-aiohttp
我有 5,00,000 个网址。并希望获得每个异步的响应。
我一次想要 200 个连接(并发 200),不超过这个,因为
当我为 50 个 url 运行该程序时,它工作正常,即,url_list[:50]
但如果我通过整个列表,我会收到此错误
可能是频率太多,服务器在限制后拒绝响应?
python - 如何将python asyncio与线程结合起来?
我已经使用 Python asyncio 和 aiohttp 成功构建了一个RESTful 微服务,它侦听 POST 事件以从各种馈送器收集实时事件。
然后它构建一个内存结构,以在嵌套的 defaultdict/deque 结构中缓存最后 24 小时的事件。
现在我想定期检查该结构到磁盘,最好使用pickle。
由于内存结构可能大于 100MB,因此我希望避免在检查点结构所需的时间内暂停我的传入事件处理。
我宁愿创建结构的快照副本(例如 deepcopy),然后花时间将其写入磁盘并在预设的时间间隔内重复。
我一直在寻找有关如何组合线程(并且线程甚至是最好的解决方案?)和 asyncio 用于此目的的示例,但找不到对我有帮助的东西。
非常感谢任何入门指南!