使用 Python 请求的异步请求

2023-12-01

我尝试了文档中提供的示例请求库对于蟒蛇。

With async.map(rs),我得到了响应代码,但我想获取所请求的每个页面的内容。例如,这不起作用:

out = async.map(rs)
print out[0].content

Note

下面的答案是not适用于请求 v0.13.0+。异步功能已移至请求这个问题写完之后。但是,您可以只替换requests with grequests下面它应该可以工作。

我保留这个答案是为了反映关于使用 requests


执行多项任务async.map 异步地你必须:

  1. 为您想要对每个对象执行的操作定义一个函数(您的任务)
  2. 将该函数添加为请求中的事件挂钩
  3. Call async.map在所有请求/操作的列表上

Example:

from requests import async
# If using requests > v0.13.0, use
# from grequests import async

urls = [
    'http://python-requests.org',
    'http://httpbin.org',
    'http://python-guide.org',
    'http://kennethreitz.com'
]

# A simple task to do to each response object
def do_something(response):
    print response.url

# A list to hold our things to do via async
async_list = []

for u in urls:
    # The "hooks = {..." part is where you define what you want to do
    # 
    # Note the lack of parentheses following do_something, this is
    # because the response will be used as the first argument automatically
    action_item = async.get(u, hooks = {'response' : do_something})

    # Add the task to our list of things to do via async
    async_list.append(action_item)

# Do our list of things to do via async
async.map(async_list)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python 请求的异步请求 的相关文章

随机推荐

  • 将 SQL 转换为 HQL [关闭]

    Closed 这个问题是无关 目前不接受答案 我正在尝试将以下 SQL 查询转换为 HQL 但遇到了一些问题 逐行直线转换不起作用 我想知道是否应该在 HQL 中使用 Inner Join SELECT UNIX TIMESTAMP cos
  • 为什么在安装 .NET Core 2.1.3 时出现 HTTP 错误 502.5

    我为运行 Windows Server 2016 的新计算机安装了 NET Core 版本 2 1 3 我将其托管在 IIS 10 中 但它给了我错误 502 HTTP 错误 502 5 进程失败 此问题的常见原因 申请进程无法启动 申请流
  • TYPO3 StoragePid 和当前

    我构建了一个简单的注释 extbase 扩展 我想将其与打字稿一起包含在项目扩展 也是 extbase 中 项目扩展中的流畅代码如下所示
  • UITableViewCell 重用良好实践

    UITableViewCell tableView UITableView tableView cellForRowAtIndexPath NSIndexPath indexPath static NSString CellIdentifi
  • React.js 中刷新时丢失 useState 值

    我正在发送一个id from ProductListing组件 我收到了id using useParams in ProductDetail成分 在ProductDetail组件我正在使用 find 方法查找一个对象 然后将其设置为sin
  • 如何测量图像中的环境光水平?

    我正在考虑制作一个应用程序 使用相机来测量拍摄图像时存在的光量 一些条件行为会根据存在的光线量而发生 即 如果看起来很黑 则显示一条消息 看起来像睡觉时间 我知道这对于由于曝光等原因而存在的实际光量来说是一个相当糟糕的测量 但它不需要非常准
  • ReactJS - 使用重定向组件传递道具

    你应该如何传递 propsRedirect组件而不将它们暴露在 url 中 像这样
  • SFU 的特殊 CUDA 双精度三角函数

    我想知道我将如何使用 cos x 和分别 sin x 在带有 CUDA 的内核代码中 我在 CUDA 手册中查找到有这样一个设备函数 但是当我实现它时 编译器只是说我无法调用设备中的主机函数 然而我发现有两个姐妹函数cosf x and c
  • Nodejs多列独特mongoose的组合

    客观的 为两列创建唯一性 我尝试了什么 这是我的架构 var mongoose require mongoose location table Schema var locationSchema new mongoose Schema lo
  • Leaflet GeoJSON 是否可以在到达目的地之前裁剪线要素?

    有没有一种简单的方法可以缩短 GeoJSON 图层上的线条 我有一条线 它从 A 点到 B 点 我希望这条线在标记的半径附近停止 那可能吗 有点像从线路终点 起点的偏移量 这是一个例子 我有 50 x 50 的图标 但半透明 参见图片 并且
  • getIntent.getExtras.getString() 中的 null 值

    这是我在第一个活动中的代码 Intent i new Intent this OtherScreen class i putExtra id1 first i putExtra id2 second startActivity i 其中第一
  • 使用仅具有 id 值的实体保存外键

    如果我有两个休眠实体 例如 Entity class Company Id Integer id String name Entity class Person Integer id String name ManyToOne Compan
  • C++ 中的静态构造函数和致命错误 LNK1120: 1 无法解析的外部

    首先 我可能应该让你知道我绝不是一名程序员 我只是为了一项家庭作业而这样做 所以如果可能的话 我将需要一个非常详细的解释 我目前有一个 Node 类 用于存储点的坐标 除此之外 我想要用它做的是根据计数器为每个不同的 Node 对象分配一个
  • 在 R 中的 read.csv 中指定 colClasses 时出现问题

    我试图在 read csv 中指定 colClasses 以尝试加快 csv 文件的读取速度 但是 我遇到了以下问题 假设我有一个名为 t csv 的文件 a b x 0 然后 如果我在 R 中运行以下命令 data lt read csv
  • 客户端-服务器 Java GUI:读/写导致程序冻结

    我正在用 Java 编写客户端 服务器程序 包括 GUI 我在客户端有以下代码 public class SBListener implements ActionListener public void actionPerformed Ac
  • leetcode 的 Java 4sum 实现

    leetcode 的问题陈述是这样的 给定一个由 n 个整数组成的数组 S S 中是否存在元素 a b c 和 d 使得 a b c d target 找到数组中所有唯一的四元组 给出目标的总和 Note Elements in a qua
  • 如何继承带有模板的类? [复制]

    这个问题在这里已经有答案了 为什么下面的方法可以正常工作 class a public int n class b public a public b n 1 int main 但这不起作用 template
  • 实现查找表

    我正在开发一个自定义数据结构 目前正在进行 beta 测试过程 数据将存储在一个数组中 并且该数组可以表示为 4D 2D 和 1D 数组 这三个数组在联合中声明 因为它代表相同的内存寻址 这是给我的班级的声明 一些类 h ifndef So
  • Java 2012-006 更新破坏了 xCode 上传

    这与这个问题相关无法提交申请 然而 在 Apple 最近的 Java 更新 删除了 Web 插件 之后 Oracle 立即发布了 Java 7 的更新 现在 xcode 无法再上传 上传到 iTunes Store 时发生错误 并且旧的修复
  • 使用 Python 请求的异步请求

    我尝试了文档中提供的示例请求库对于蟒蛇 With async map rs 我得到了响应代码 但我想获取所请求的每个页面的内容 例如 这不起作用 out async map rs print out 0 content Note 下面的答案