使用请求和current.futures异步发送多个API发布请求

詹姆斯·李

我一直在尝试使用请求之外的并发命令,以便从多个DIFFERENT用户发送多个DIFFERENT直接消息。我设计的应用程序的目的是尽可能快地发送这些直接消息,并且单独发送每个请求花费的时间太长。

下面的代码是我尝试过的工作,但我清楚地发现,期货将不会读取存储在数组中的请求。

任何有关如何执行此操作的建议将不胜感激。

from concurrent import futures
import requests
from requests_oauthlib import OAuth1
import json
from datetime import datetime

startTime = datetime.now()

URLS = ['https://api.twitter.com/1.1/direct_messages/new.json'] * 1

def get_oauth():
    oauth = OAuth1("xxxxxx",
                client_secret="zzzxxxx",
                resource_owner_key="xxxxxxxxxxxxxxxxxx",
                resource_owner_secret="xxxxxxxxxxxxxxxxxxxx")
    return oauth

oauth = get_oauth()

req = []


def load_url(url, timeout):
    req.append(requests.post(url, data={'screen_name':'vancephuoc','text':'hello pasdfasasdfdasdfasdffpls 1 2 3 4 5'}, auth=oauth, stream=True, timeout=timeout))
    req.append(requests.post(url, data={'screen_name':'vancephuoc','text':'hello this is tweetnumber2 1 2 3 4 5 7'}, auth=oauth, stream=True, timeout=timeout))



with futures.ThreadPoolExecutor(max_workers=100) as executor:
    future_to_url = dict((executor.submit(req, url, 60 ), url)
                         for url in URLS)
    for future in futures.as_completed(future_to_url):
        url = future_to_url[future]
        print ("DM SENT IN")
        print (datetime.now()-startTime)
        try:
            data = future.result()
        except Exception as exc:
            print('%r generated an exception: %s' % (url, exc))
        else:
            print('%r page is %d bytes' % (url, len(data)))
伊尔久

可能值得看一下一些现有的库,这些库试图简化与并发的使用requests

来自:http : //docs.python-requests.org/en/latest/user/advanced/#blocking-or-non-blocking

[..]有很多项目将Requests与Python的异步框架之一结合在一起。grequestsrequest-futures是两个很好的例子

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用请求和current.futures异步发送多个API发布请求

来自分类Dev

发送与龙卷风多个异步发布请求

来自分类Dev

异步发送多个goutte请求

来自分类Dev

ajax发布请求发送多个请求

来自分类Dev

使用 dask 发送并行 API 请求和错误处理

来自分类Dev

在发布请求中发送多个文件

来自分类Dev

循环发送多个http发布请求

来自分类Dev

循环发送多个http发布请求

来自分类Dev

ZeroMQ 请求和对该请求的多个异步回复

来自分类Dev

即使应用终止,在iOS上发送异步HTTP发布请求

来自分类Dev

在Laravel中使用请求和响应

来自分类Dev

批处理请求和使用限制

来自分类Dev

使用请求和护照npm登录帐户

来自分类Dev

使用/不使用参数获取请求和API

来自分类Dev

使用Active Collab API在单个请求中发布多个文件:

来自分类Dev

区分已取消的请求和使用$ http真正错误的请求

来自分类Dev

使用OKHttp,AsyncTask中的同步请求和OKhttp异步请求之间有什么区别?

来自分类Dev

用于向JSON API发送请求和使用SMTP服务器的顺序图?

来自分类Dev

用于向JSON API发送请求和使用SMTP服务器的顺序图?

来自分类Dev

在表单发布请求中发送多个复选框值

来自分类Dev

多个异步请求

来自分类Dev

多个异步请求

来自分类Dev

如何使用Python发布请求和Telegram机器人在具有InlineKeyboardMarkup的Telegram上发送照片

来自分类Dev

异步Http发布请求无效

来自分类Dev

使用python发送JSON发布请求

来自分类Dev

Java-使用HtmlUnit发送发布请求

来自分类Dev

如何使用按钮发送jQuery发布请求

来自分类Dev

API请求和嵌套请求,合并结果

来自分类Dev

向外部API发送发布请求并提取数据

Related 相关文章

热门标签

归档