从Python中的API请求中提取数据

丹史密斯

我目前正在开发使用UniFi控制器API的应用程序-在这种情况下,我正在使用pyunifi。

每当我尝试提取MAC地址的方法时,我仍然会获得整个数据有效负载。

import requests

from pyunifi.controller import Controller

parser = argparse.ArgumentParser()
parser.add_argument('-c', '--controller', default='192.168.0.2', help='the controller address (default "unifi")')
parser.add_argument('-u', '--username', default='apiadmin', help='the controller username (default("admin")')
parser.add_argument('-p', '--password', default='apipass', help='the controller password')
parser.add_argument('-b', '--port', default='8443', help='the controller port (default "8443")')
parser.add_argument('-v', '--version', default='v5', help='the controller base version (default "v5")')
parser.add_argument('-s', '--siteid', default='default', help='the site ID, UniFi >=3.x only (default "default")')
parser.add_argument('-V', '--no-ssl-verify', default=False, action='store_true', help='Don\'t verify ssl certificates')
parser.add_argument('-C', '--certificate', default='', help='verify with ssl certificate pem file')
args = parser.parse_args()

ssl_verify = False

if ssl_verify and len(args.certificate) > 0:
        ssl_verify = False 
        
c = Controller(args.controller, args.username, args.password, args.port, args.version, args.siteid, ssl_verify=ssl_verify)
r.requests = requests.get(c.get_clients()).json()
requests['mac']
print(requests)```

Any help would be greatly appreciated to get me on the right track.
排队

在需要提取MAC地址的情况下,最后几行没有多大意义:

  1. r.requests应该抛出一个NameError,因为您r在此脚本中的任何地方都没有定义
  2. 这条线什么requests['mac']也没做。这很可能是一个有效的引用,但是您在此处引用的将是从标准编辑macrequests对象属性换句话说,即使您打算或以其他方式处理此值,这也将远远超出您的预期importrequestsprint
  3. 之所以称其print(requests)为“分出所有数据”,是因为您要在第1行中导入printrequests的完整定义
  4. 最重要的是,您不需要requestspyunifi在后台那样导入与远程API交互所使用的每个方法都会requests从视图中抽象出这种低层使用,因此将任何方法调用都包装在中是没有意义的requests.get()您应该在其GitHub页面上查看正在使用的库的文档(如果需要,还可以查看源代码),该页面包含一些有用的示例,这些示例可能有助于您发现所使用方法的正确用法。这里。

除了这些注意事项,您的代码看起来还不错。纠正这些问题后,您将拥有一个类似于以下内容的脚本

from pyunifi.controller import Controller

parser = argparse.ArgumentParser()
parser.add_argument('-c', '--controller', default='192.168.0.2', help='the controller address (default "unifi")')
parser.add_argument('-u', '--username', default='apiadmin', help='the controller username (default("admin")')
parser.add_argument('-p', '--password', default='apipass', help='the controller password')
parser.add_argument('-b', '--port', default='8443', help='the controller port (default "8443")')
parser.add_argument('-v', '--version', default='v5', help='the controller base version (default "v5")')
parser.add_argument('-s', '--siteid', default='default', help='the site ID, UniFi >=3.x only (default "default")')
parser.add_argument('-V', '--no-ssl-verify', default=False, action='store_true', help='Don\'t verify ssl certificates')
parser.add_argument('-C', '--certificate', default='', help='verify with ssl certificate pem file')
args = parser.parse_args()

ssl_verify = False

if ssl_verify and len(args.certificate) > 0:
    ssl_verify = False 
        
c = Controller(args.controller, args.username, args.password, args.port, args.version, args.siteid, ssl_verify=ssl_verify)

for client in c.get_clients(): # loop over each client returned from get_clients()
    print(client['mac'])

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从App Annie API中提取数据-Python

来自分类Dev

从 React 中的 API 对象中提取数据

来自分类Dev

Python请求-从response.text中提取数据

来自分类Dev

如何在iOS中从URL请求中提取数据

来自分类Dev

如何从SOAP UI中的SOAP请求中提取数据

来自分类Dev

从python中的请求查询结果中提取json字段

来自分类Dev

从Python Lambda中的POST请求中提取参数

来自分类Dev

从python中的请求查询结果中提取json字段

来自分类Dev

从API调用中提取数据

来自分类Dev

根据python中的数据从数据框中提取列名

来自分类Dev

从Curl POST请求中提取数据

来自分类Dev

从Paraview 4.2中提取Python脚本中的数据

来自分类Dev

如果模式在Python中匹配,则从文件中提取数据

来自分类Dev

从Python中的复选框中提取表单数据

来自分类Dev

从Python中的文本文件中提取数值数据

来自分类Dev

从Python的文本文件中的字段中提取数据

来自分类Dev

在Python 3中提取PDF元数据

来自分类Dev

在Python中从PDF元数据中提取关键字

来自分类Dev

如何从python中的df中提取每小时数据?

来自分类Dev

分析列表中的数据并在Python中提取所需信息

来自分类Dev

从python中的txt文件中提取不同的数据

来自分类Dev

通过python中的xpath从url源中提取unicode数据

来自分类Dev

Selenium Python:从<a>标记中的json数据中提取字段

来自分类Dev

从python 3中的文本文件中提取数据

来自分类Dev

在python中从ping结果中提取丢包数据

来自分类Dev

在 Python 中从文件中提取特定数据

来自分类Dev

如何在Python和beautifulsoup中从CDATA中提取数据?

来自分类Dev

从python中的XML文档中提取特定数据

来自分类Dev

使用Fetch API在Laravel中提取数据时,$ request-> ajax()无法检测到ajax请求

Related 相关文章

  1. 1

    从App Annie API中提取数据-Python

  2. 2

    从 React 中的 API 对象中提取数据

  3. 3

    Python请求-从response.text中提取数据

  4. 4

    如何在iOS中从URL请求中提取数据

  5. 5

    如何从SOAP UI中的SOAP请求中提取数据

  6. 6

    从python中的请求查询结果中提取json字段

  7. 7

    从Python Lambda中的POST请求中提取参数

  8. 8

    从python中的请求查询结果中提取json字段

  9. 9

    从API调用中提取数据

  10. 10

    根据python中的数据从数据框中提取列名

  11. 11

    从Curl POST请求中提取数据

  12. 12

    从Paraview 4.2中提取Python脚本中的数据

  13. 13

    如果模式在Python中匹配,则从文件中提取数据

  14. 14

    从Python中的复选框中提取表单数据

  15. 15

    从Python中的文本文件中提取数值数据

  16. 16

    从Python的文本文件中的字段中提取数据

  17. 17

    在Python 3中提取PDF元数据

  18. 18

    在Python中从PDF元数据中提取关键字

  19. 19

    如何从python中的df中提取每小时数据?

  20. 20

    分析列表中的数据并在Python中提取所需信息

  21. 21

    从python中的txt文件中提取不同的数据

  22. 22

    通过python中的xpath从url源中提取unicode数据

  23. 23

    Selenium Python:从<a>标记中的json数据中提取字段

  24. 24

    从python 3中的文本文件中提取数据

  25. 25

    在python中从ping结果中提取丢包数据

  26. 26

    在 Python 中从文件中提取特定数据

  27. 27

    如何在Python和beautifulsoup中从CDATA中提取数据?

  28. 28

    从python中的XML文档中提取特定数据

  29. 29

    使用Fetch API在Laravel中提取数据时,$ request-> ajax()无法检测到ajax请求

热门标签

归档