调用API的思路:

  1. 获得api的token
  2. 按官方文档发送链接
  3. 分析返回的结果

步骤一:获取API的token

如果不知道token是啥,或是不知道怎么获取token,请参考:https://blog.csdn.net/weixin_35757704/article/details/120664069

这里给出一个工具方法:

def get_baidu_token() -> str:"""获得百度的token"""import requestsak = "ZXGxxxxx"  # 第2步中的API Keysk = "RwAxxxxx"  # 第2步中的Secret Key# client_id 为官网获取的AK, client_secret 为官网获取的SKhost = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={0}&client_secret={1}'.format(ak, sk)response = requests.get(host)if response:return response.json()['access_token']

步骤二:按官方文档发送链接

文档链接:https://ai.baidu.com/ai-doc/NLP/fk6z52f2u

可以看到几个要点:

  1. POST请求
  2. 需要````access_token```
  3. Header添加Content-Type属性,值为application/json
  4. body添加text属性,值为想要分析的内容

由此构建以下代码:

import jsondef get_baidu_service(analyze_text, token) -> json: # 传入待分析的文本,与tokenimport urllib3http = urllib3.PoolManager(cert_reqs='CERT_NONE') # 防止ssl报错http_request = http.request(method="POST", # post 请求url="https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?access_token=" + token, # 百度API接口body=json.dumps({"text": analyze_text}), # body里添加text属性headers={ # header添加Content-Type属性'Content-Type': 'application/json;charset=UTF-8'},)if http_request.status == 200:return str(http_request.data, "GBK") # 返回json格式的字符串

步骤三:分析返回的结果

这里就是看自己需要什么结果了,以打印地点名词为例:

def analyze_baidu_service(analyze_result: str):data: dict = json.loads(analyze_result)  # 以字典形式读取json格式的字符串for item in data['items']:if item['ne'] == "LOC":  # 如果是地点名词,就打印出来print(item["item"])# 打印结果:# 太和殿# 奉天殿# 奉天殿

完整代码

import jsondef get_baidu_token() -> str:"""获得百度的token"""import requestsak = "ZXGxxxxx"  # 第2步中的API Keysk = "RwAxxxxx"  # 第2步中的Secret Key# client_id 为官网获取的AK, client_secret 为官网获取的SKhost = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={0}&client_secret={1}'.format(ak, sk)response = requests.get(host)if response:return response.json()['access_token']def get_baidu_service(analyze_text, token) -> json:import urllib3http = urllib3.PoolManager(cert_reqs='CERT_NONE')http_request = http.request(method="POST",url="https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?access_token=" + token,body=json.dumps({"text": analyze_text}),headers={'Content-Type': 'application/json;charset=UTF-8'},)if http_request.status == 200:return str(http_request.data, "GBK")def analyze_baidu_service(analyze_result: str):data: dict = json.loads(analyze_result)  # 以字典形式读取json格式的字符串for item in data['items']:if item['ne'] == "LOC":  # 如果是地点名词,就打印出来print(item["item"])# 太和殿# 奉天殿# 奉天殿if __name__ == '__main__':text = "太和殿始建于明朝永乐四年(1406年),建成于永乐十八年(1420年),初名奉天殿。[2]奉天殿初建时的体量,据《明世宗实录》卷四百七十记载:“原旧广三十丈,深十五丈云”,即面阔95米,进深48米,面积达4522平方米。"analyze_data = get_baidu_service(text, token=get_baidu_token())analyze_baidu_service(analyze_data)

python调用百度智能云API请求(以自然语言处理——词法分析为例)相关推荐

  1. Python调用百度智能云API进行文本情感分析

    Python调用百度智能云API进行文本情感分析 安装SDK 在调用前首先需要通过 pip 安装百度智能云 SDK. 可参考官方文档:https://cloud.baidu.com/doc/OCR/s ...

  2. 【python】调用百度智能云API实现手写文字识别

    注:本文系湛江市第十七中学星火创客团队及岭南师范学院物联网俱乐部原创部分参赛项目,转载请保留声明 文章目录 调用百度智能云API实现python识别手写文字 一.准备工具 电脑端准备: 1.pytho ...

  3. 调用百度智能云 api --新手入门教程

    登录或者注册用户 百度找到官网链接: 点击控制台: 登录上去,没有百度账户的可以先注册: 点击产品服务,找到人工智能,然后点击文字识别(下面的图片是老版的智能云): 点击创建应用 随便填自己的想要的名 ...

  4. 调用百度智能云API,实现身份证智能识别并转语音 | Python

    一.百度云新建应用.获取权限和额度 1. 登录百度智能云,产品服务-->人工智能-->图像识别 2. 应用列表-->创建应用,用于身份证照的信息识别 3. 应用创建完成,得到APP_ ...

  5. 调用百度智能云OCR接口识别身份证和户口本

    一.百度智能云获取token类编写 package com.wy.gcserver.ocr.service;import org.slf4j.Logger; import org.slf4j.Logg ...

  6. 基于百度智能云api识别验证码

    基于百度智能云api识别验证码 通过调用百度智能云api接口进行验证码识别并输出. 使用baidu-aip模块进行模拟client登录,client.basicgeneral()函数识别图片文字并返回 ...

  7. python -百度智能云API -语言处理技术中的语句情感倾向分析

    python 百度智能云API 语言处理技术中的语句情感倾向分析 背景 实现 获取 access_token 请求情感分析接口 读取文本操作 背景 我姐的毕业论文中,要用到情感分析,他已经利用爬虫软件 ...

  8. Python调用百度通用翻译api

    Python调用百度通用翻译api 首先 首先 首先需要先去百度翻译api官网注册成为开发者,然后申领一下通用翻译的appid和密钥. 附上代码,默认为源语言自动识别,效果感觉不是太好,目标语言默认为 ...

  9. 用Python提取图片中的文字——百度智能云API

    百度智能云有很多功能,直接接入接口就可以调用函数使用,这里我们使用简单的方式,直接调用,不适用OpenCV.TensorFlow啥的..毕竟我不是大佬... 安装库 首先安装Python库,使用pip ...

最新文章

  1. linux centos 使用 alpine 编译的二进制文件 报错 /lib/ld-musl-x86_64.so.1: bad ELF interpreter 解决方法
  2. JDK 1.8新特性
  3. 【成长篇】选择一定很重要
  4. 第五章:优势策略均衡
  5. 微信小程序Audio音频(有关歌曲和图片的路径)
  6. 信息安全论学习笔记(一):绪论
  7. 基于某知名招聘网站的上海财务岗位数据分析(含excel可视化)
  8. 洛谷 P2517 [HAOI2010]订货
  9. docker-compose up:ERROR: Encountered errors while bringing up the project.錯誤及解決方式
  10. python re.compile() 详解——Python正则表达式
  11. linux 命令 修改密码,一条命令修改Linux密码
  12. Twincat NC PTP
  13. javascript可以直接比较时间字符串的大小
  14. 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
  15. python爬网络图片脚步_小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在-站长资讯中心...
  16. 网络图标消失的解决办法
  17. Yoshua Bengio为什么能跟Hinton、LeCun相提并论?
  18. 使用现代C++如何避免bugs(上)
  19. jsp+servlet+mysql实现的CRM客户关系管理系统源码+运行教程
  20. 教你使用MATLAB制作一款 图形验证码 生成器(app designer)

热门文章

  1. 长宽相等的矩阵(二维数组)逆时针旋转90度
  2. JupyterNotebook设置并切换不同Python启动环境
  3. mysql连接数据库的包_java连接mysql数据库包
  4. SVN中trunk,branches,tags用法详解
  5. Easy-mock让团队协作效率提高不止一点点
  6. 使用vagrant因用户权限导致文件不可写问题的解决
  7. 开始工业物联网项目需要考虑的八大要点
  8. Ecstore跳过后台激活验证和shopexId授权
  9. Android的HTTP方式网络通信---HttpURLConnection
  10. MySQL架构设计相关的方式方法和软件介绍