问题标签 [grequests]

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.

0 投票
1 回答
14662 浏览

python - 如何使用 grequests 发出 HTTP POST 请求

我尝试了以下方法:

但它说以下内容:

我还需要将响应传递给回调进行处理。

0 投票
0 回答
2099 浏览

python - Python - grequests socket.gaierror:[Errno -2] 名称或服务未知)

我正在使用 grequests 对 crunchbase API 执行多个请求。

不幸的是,他们没有提供根据公司更新时间查询数据的方法,所以为了获得最近资助的公司,我必须刮掉他们所有的公司名称,然后对每个公司执行单独的请求。

尝试多处理后,我找到了模块 grequest。代码如下:

但是,我似乎收到以下错误:

知道为什么我会收到此错误吗?

0 投票
2 回答
13161 浏览

python - 使用 grequests 向 sourceforge 发出数千个 get 请求,得到“Max retries exceeded with url”

我对这一切都很陌生;我需要为我正在写的一篇论文获取数千个 sourceforge 项目的数据。这些数据都以 json 格式免费提供,网址为 http://sourceforge.net/api/project/name/[project name]/json。我有数千个这些 URL 的列表,我正在使用以下代码。

使用此代码,我可以获得我喜欢的任何 200 个左右项目的数据,即rs = (grequests.get(u) for u in ulist[0:199])有效,但一旦我完成,所有尝试都会遇到

在我退出 python 之前,我无法再发出任何请求,但是一旦我重新启动 python,我就可以再发出 200 个请求。

我试过使用grequests.map(rs,size=200),但这似乎无济于事。

0 投票
1 回答
786 浏览

python - greqests.map 中的 url 太多会导致 gevent.hub.LoopExit 仅在 Mac 上

在我的代码中(https://github.com/chembl/chembl_webresource_client/blob/master/chembl_webresource_client/web_resource.py#L98

我打电话grequests.map

rs作为 URL 列表。如果该列表的大小大于某个值(我的情况是 300),我将得到:

无论size参数如何(我尝试了 10 到 50 之间的不同值,并且完全忽略了这个参数)。

这只发生在 macOS 上。在 Ubuntu 中,任何大小的 URL 列表都有效。

我会很感激任何帮助,因为这是我的小型图书馆的一大亮点。

0 投票
2 回答
17502 浏览

python - 在请求库中,如何避免“HttpConnectionPool 已满,正在丢弃连接”警告?

我正在使用带有会话的 python 请求库:

有时我会在日志中收到此警告:

我的问题是:为什么这是警告而不是例外?

这是负责此的代码(来自http://pydoc.net/Python/requests/0.8.5/requests.packages.urllib3.connectionpool/):

为什么这里会捕获此异常?如果它被重新提出,我可以在我的代码中处理这个异常,方法是创建新会话并删除旧会话。

如果这只是一个警告,是否意味着它不会以任何方式影响我的结果?我可以忽略它吗?如果没有,我该如何处理这种情况?

0 投票
1 回答
4783 浏览

python - 如何发送多个http请求python

我正在使用 pythonrequest.post()将数据发送到远程数据库。我应该如何使用 python 使用不同的数据在同一 URL 上发送多个请求(大约 20-30)?

此外,对于这种情况,顺序工作是否正常,还是我需要并行提出请求?

0 投票
2 回答
53296 浏览

python - 到杰​​森

我从来没有做过任何面向对象的编程,只写过基本的脚本。

我在玩 grequests

回应是:

通常我将响应转换为文本,然后将其加载到 json 中以便我可以解析它,但我不能用这个响应来做到这一点。

我了解类的概念,但没有使用过它们,也不知道如何处理该响应。

有没有办法可以将它转换为json?

0 投票
2 回答
5516 浏览

python-2.7 - 如何将参数传递给python grequests中的钩子

根据请求文档,可以将事件挂钩添加到 .get() 函数。

这很好,但是如何使用自定义参数设置 *args,例如,我想将一些自定义值传递给 print_url(),如何在 *args 中设置这些值?这样的事情失败了:

0 投票
1 回答
1921 浏览

python - 通过使用 python 发送并发请求进行抓取

我有 python 3.4,我安装了请求和一些其他必要的程序来进行网络抓取。我的问题是我想抓取大约 7000 个页面(只是 html/文本),并且不想一次全部完成,我想有一些延迟,所以我不打服务器请求太多,可能会被禁止。我听说过 grequests 但显然它们没有适用于 python 3.4(实际错误说它找不到 vcvarsall.bat 但在文档中我没有看到对 3.4 的任何支持)。有谁知道可以管理 url 请求的替代程序?换句话说,我并不是要尽可能快地抓住一切,而是要缓慢而稳定。

0 投票
1 回答
2169 浏览

python - 不使用 grequests.map() 的延时 grequests

这是我第一次尝试使用文档和示例代码级别不理想的库,所以请耐心等待。我对 Requests 库有一点经验,但我需要每秒向特定地址发送单独的请求:

  • 无需等待第一个请求完成,在各个响应进入时对其进行处理
  • 响应的内容需要单独解析
  • 同时限制连接总数

我无法弄清楚如何同时满足这些条件。grequests.map()会给我我想要的回复内容,但只有在他们全部完成后才能分批。grequests.send()似乎只返回一个不包含网页 html 文本的响应对象。(我可能错了grequests.send(),但我还没有找到从该对象中提取内容的示例)

这是我到目前为止的代码:

我得到的回应:

我尝试使用req.content, 和访问 html 响应job.content,但都不起作用。