Python - 1000-2000 个 API 请求

标签 python mysql performance api

我正在尝试向 API 发出大量 GET 请求(在 1000 到 2000 之间)。到目前为止,它花费了超过 5 分钟,MySQL 服务器刚刚关闭了我的连接。

我想在一分钟内完成。应该可以吧?

这是我目前所拥有的:

def get_data(devices):

        for dev in devices: #array containing around 1000 devices
            model = str(dev[0])
            brand = str(dev[1])    
            model = model.replace(" ", "%20")
            brand = brand.replace(" ","%20")

            os = urllib2.urlopen('https://api.com/getData?&brand=' + brand + '&model='+ model).read()
            xmldoc = minidom.parseString(os)

            for element in xmldoc.getElementsByTagName('name'):
                print (element.firstChild.nodeValue)

最佳答案

你代码的瓶颈可能是网络 I/O,如果你想更快地做到这一点,你可以尝试使用 gevent 库。

我用它做了很多 IP 地址的跟踪路由,它比多线程更快。 Here是一些帮助您入门的演示代码。

关于Python - 1000-2000 个 API 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29879390/

相关文章:

javascript - angular.js 中的静态插值与动态插值及其性能

python - 如何生成几个字母所有可能排列的列表?

处理标量或数组的 Python 函数

javascript - Php ajax 具有多个答案的投票系统

PHP选择同一表中不同行的不同值

android - 表示室内地图的数据结构

c++ - 在 C++11 中使用 auto foo = "bar"与 std::string

Python依赖分析器库

python - systemd 无法在 raspbian python3 上安装

mysql - 使用 'having' 的 ActiveRecord Relation 的 Rails update_all 不起作用