翻译API的python调用方式

简介: 翻译API的python调用方式

电脑上有个文件夹,里面的子文件夹都是英文的,看着很是不方便,所以打算给英文后面加个中文;
手动修改名字也是个办法,但是还有其他自动的办法;就不需要手动了。
在这里插入图片描述
修改文件夹的方法很简单,使用python中的os库就行

    path = r'I:/ps/uploads/'
    list_f = os.listdir(path)
    for l_f in list_f:
        print(l_f)
        zh = ‘中文’
        #print(zh)
        os.rename(path+l_f,path+l_f+'_'+zh)

但是英文翻译成中文,就得借助与翻译接口了;

支持翻译的接口很多,看选择那一个了,当然是已注册的平台优先了,这里选择百度翻译的接口;

调用翻译接口步骤

0、平台地址:http://api.fanyi.baidu.com/
1、首先得有一个账号,一个appid和一个密钥
2、查看对接文档,了解入参出参
3、敲代码;

直接先看文档:

其中最主要的是生成签名:
Step1. 将请求参数中的 APPID(appid), 翻译 query(q,注意为UTF-8编码),随机数(salt),以及平台分配的密钥 按照 appid+q+salt+密钥的顺序拼接得到字符串 1。
Step2. 对字符串 1 做 MD5 ,得到 32 位小写的 sign。
代码如下:

sign = appid + q + str(salt) + secretKey
sign = hashlib.md5(sign.encode()).hexdigest()
myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(
salt) + '&sign=' + sign

需要用到两个库:

import hashlib #生成md5
import urllib #对文本就行url编码

接口调用就简单一点了;
http请求有多种选择;
1.、使用http.client

 httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
    httpClient.request('GET', myurl)
    # response是HTTPResponse对象
    response = httpClient.getresponse()
    result_all = response.read().decode("utf-8")
    result = json.loads(result_all)

2、使用requests:

 endpoint = 'http://api.fanyi.baidu.com'
  result = requests.get(endpoint + myurl).json()

使用requests方式,两行代码搞定;

3、提取结果;
接口返回一个字段,最终翻译结果需要通过属性获取;
result_one = result'trans_result'['dst']

代码实现


from time import sleep
import requests
import hashlib
import urllib
import random
import search_str
import os
 
appid = search_str.appid  # 填写你的appid
secretKey = search_str.secretKey  # 填写你的密钥
 

def getResult(q, fromLang = 'en', toLang = 'zh'):
    
    myurl = '/api/trans/vip/translate'
    salt = random.randint(32768, 65536)
    #q = 'm_m'  #翻译内容
    sign = appid + q + str(salt) + secretKey
    sign = hashlib.md5(sign.encode()).hexdigest()
    myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(q)  
    myurl = myurl + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + sign

    try:
    
        endpoint = 'http://api.fanyi.baidu.com'
        result = requests.get(endpoint + myurl).json()
        print(result)
        result_one = result['trans_result'][0]['dst']
        return result_one
    except Exception as e:
        print(e)


#result = getResult('apple')
#print(result)

def fanyi():
    path = r'I:/ps/uploads/'
    list_f = os.listdir(path)
    go = False
    for l_f in list_f:
        print(l_f)
        try:
            zh = getResult(l_f)
            os.rename(path+l_f,path+l_f+'_'+zh)
        except:
            pass
        sleep(1)
        

相关文章
|
1月前
|
数据采集 供应链 API
Python爬虫与1688图片搜索API接口:深度解析与显著收益
在电子商务领域,数据是驱动业务决策的核心。阿里巴巴旗下的1688平台作为全球领先的B2B市场,提供了丰富的API接口,特别是图片搜索API(`item_search_img`),允许开发者通过上传图片搜索相似商品。本文介绍如何结合Python爬虫技术高效利用该接口,提升搜索效率和用户体验,助力企业实现自动化商品搜索、库存管理优化、竞品监控与定价策略调整等,显著提高运营效率和市场竞争力。
70 3
|
2月前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
48 10
|
2月前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
30天前
|
数据采集 JavaScript 前端开发
京东商品详情 API 接口指南(Python 篇)
本简介介绍如何使用Python抓取京东商品详情数据。首先,需搭建开发环境并安装必要的库(如requests、BeautifulSoup和lxml),了解京东反爬虫机制,确定商品ID获取方式。通过发送HTTP请求并解析HTML,可提取价格、优惠券、视频链接等信息。此方法适用于电商数据分析、竞品分析、购物助手及内容创作等场景,帮助用户做出更明智的购买决策,优化营销策略。
|
2月前
|
存储 API 数据库
使用Python开发获取商品销量详情API接口
本文介绍了使用Python开发获取商品销量详情的API接口方法,涵盖API接口概述、技术选型(Flask与FastAPI)、环境准备、API接口创建及调用淘宝开放平台API等内容。通过示例代码,详细说明了如何构建和调用API,以及开发过程中需要注意的事项,如数据库连接、API权限、错误处理、安全性和性能优化等。
144 5
|
2月前
|
API Python
【Azure Developer】分享一段Python代码调用Graph API创建用户的示例
分享一段Python代码调用Graph API创建用户的示例
66 11
|
2月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
355 5
|
2月前
|
API Python
利用python淘宝/天猫获得淘宝app商品详情原数据 API
要使用Python获取淘宝/天猫商品详情原数据,需先注册开放平台账号并实名认证,创建应用获取API权限。随后,根据API文档构建请求URL和参数,使用requests库发送请求,处理返回的商品详情数据。注意遵守平台使用规则。
|
3月前
|
供应链 API 开发者
探索Python与1688商品详情API接口的协同效应
在数字化时代,1688作为中国领先的B2B平台,其商品详情API接口为市场分析、库存管理和销售策略提供了重要数据支持。本文介绍如何使用Python调用该API,包括前期准备、技术实现、数据解析及错误处理等内容,助力企业和开发者挖掘数据价值,提升商业智能水平。
|
3月前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
161 3