c++调用python接口_Python调用有道智云文本翻译API接口实现“智能”伪原创
隨著人工智能的火熱,互聯(lián)網(wǎng)熱門韭菜行業(yè)SEO也貌似進(jìn)入了AI的快車道,尤其以智能偽原創(chuàng)超級熱門,你會發(fā)現(xiàn)幾乎是個seo工具網(wǎng)站都掛著智能偽原創(chuàng)的“狗頭”招牌,抱著人無我有,人有我優(yōu)的seo優(yōu)化心態(tài),都吹噓自己的偽原創(chuàng)最最最有效。
? ? ? ? ? ? ?
本質(zhì)上智能偽原創(chuàng)都是翻譯來翻譯去而形成的內(nèi)容,高級智能偽原創(chuàng)不妨試試各種小語種的翻譯,估計會有奇效,所謂大力出奇效,當(dāng)然還有這個撈偏門的奇效方法。
市面上絕大部分智能偽原創(chuàng)的原理:
第一,把文本翻譯成英文
第二,把英文重新翻譯成中文
當(dāng)然初始的文本內(nèi)容是如何操作,以及最終獲得的文本內(nèi)容再如何操作,那就看你自己的操作了,還有各種變態(tài),衍生版本,比如前面提到的小語種翻譯,不妨自行嘗試效果。
優(yōu)化處理本身就是一個細(xì)活,越精致是越好的!
回歸正題,應(yīng)用Python調(diào)用有道智云官方文本翻譯API接口來實現(xiàn)“智能”偽原創(chuàng)的功能,當(dāng)然本渣渣是不會寫的,官方文檔已經(jīng)給出了Python調(diào)用例子,可以直接使用,ctrl+c,ctrl+v大法好,必須得學(xué)廢使用啊!
有道智云注冊
第一步:注冊一個有道智云賬號,需手機(jī)號驗證,實名認(rèn)證。
? ? ? ? ? ? ?
新賬戶直接贈送50元體驗金
? ? ? ? ? ? ?
第二步:注冊成功后,創(chuàng)建應(yīng)用獲取賬號及秘鑰。
? ? ? ? ? ? ?
第三步:創(chuàng)建翻譯實例,綁定應(yīng)用
? ? ? ? ? ? ?
附上后臺設(shè)置一覽,接入方式,選擇API
? ? ? ? ? ? ?
有道智云API文檔文本翻譯服務(wù)幫助文檔(關(guān)鍵部分)
https://ai.youdao.com/DOCSIRMA/html/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E7%BF%BB%E8%AF%91/API%E6%96%87%E6%A1%A3/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1-API%E6%96%87%E6%A1%A3.html
? ? ? ? ? ? ?
重點提一下其簽名方法
signType=v3;
sign=sha256(應(yīng)用ID+input+salt+curtime+應(yīng)用密鑰);
其中,input的計算方式為:input=q前10個字符 + q長度 + q后10個字符(當(dāng)q長度大于20)或 input=q字符串(當(dāng)q長度小于等于20);
可想而知,逆向的難度!
調(diào)用api是常規(guī)操作,其官方文檔,幫助中心一定要研究好,不然容易翻車!
同理,python及框架官方文檔也需要把握好!
Python調(diào)用API接口實現(xiàn)“智能”偽原創(chuàng)
Python3 示例(官方文檔)
# 有道智云 API文檔 文本翻譯服務(wù) Python3 示例# -*- coding: utf-8 -*-import sysimport uuidimport requestsimport hashlibimport time#from imp import reload imp 已經(jīng)棄用,替換為 importlibfrom importlib import reloadimport jsonreload(sys)YOUDAO_URL = 'https://openapi.youdao.com/api'# APP_KEY = '應(yīng)用賬號'# APP_SECRET = '秘鑰'def encrypt(signStr): hash_algorithm = hashlib.sha256() hash_algorithm.update(signStr.encode('utf-8')) return hash_algorithm.hexdigest()def truncate(q): if q is None: return None size = len(q) return q if size <= 20 else q[0:10] + str(size) + q[size - 10:size]def do_request(data): headers = {'Content-Type': 'application/x-www-form-urlencoded'} return requests.post(YOUDAO_URL, data=data, headers=headers)def connect(q,APP_KEY,APP_SECRET): #q = "The Story of Love, part 1" data = {} data['from'] = 'en' data['to'] = 'zh-CHS' data['signType'] = 'v3' curtime = str(int(time.time())) data['curtime'] = curtime salt = str(uuid.uuid1()) signStr = APP_KEY + truncate(q) + salt + curtime + APP_SECRET sign = encrypt(signStr) data['appKey'] = APP_KEY data['q'] = q data['salt'] = salt data['sign'] = sign response = do_request(data) contentType = response.headers['Content-Type'] if contentType == "audio/mp3": millis = int(round(time.time() * 1000)) filePath = "合成的音頻存儲路徑" + str(millis) + ".mp3" fo = open(filePath, 'wb') fo.write(response.content) fo.close() else: #print(response.content) #print(response.content.decode('utf-8')) print(json.loads(response.content.decode('utf-8'))['translation'][0]) return json.loads(response.content.decode('utf-8'))['translation'][0]if __name__ == '__main__': connect()本渣渣改寫的版本,中翻英有效,英翻中,就失效了,百思不得騎姐啊!!
日常翻車,無不如此!!
# 有道智云 API文檔 文本翻譯服務(wù)#20200801 by 微信:huguo00289# -*- coding: utf-8 -*-import uuidimport requestsimport hashlibimport timeimport jsonfrom setting import APP_KEY,APP_SECRETfrom demo import connectdef encrypt(signStr): hash_algorithm = hashlib.sha256() hash_algorithm.update(signStr.encode('utf-8')) return hash_algorithm.hexdigest()def translate(APP_KEY,APP_SECRET,text): url='https://openapi.youdao.com/api' headers={'Content-Type': 'application/x-www-form-urlencoded'} #文本格式轉(zhuǎn)化 size=len(text) if size<=20: q=text else: #text = urllib.parse.quote(text) q=f'{text[0:10]}{str(size)}{text[size-10:size]}' print(q) curtime=str(int(time.time())) #當(dāng)前UTC時間戳(秒) salt=str(uuid.uuid1()) #UUID #實現(xiàn)簽名 signStr = f'{APP_KEY}{q}{salt}{curtime}{APP_SECRET}' hash_algorithm = hashlib.sha256() hash_algorithm.update(signStr.encode('utf-8')) sign=hash_algorithm.hexdigest() data={ # 'from': 'en', # 'to':'zh-CHS', 'signType': 'v3', #簽名類型 'curtime':curtime, 'appKey': APP_KEY, 'q':q, 'salt':salt, 'sign':sign, } response=requests.post(url,data=data,headers=headers) #print(response.content) result_text=json.loads(response.content.decode('utf-8'))['translation'][0] print(result_text) return result_textdef main(text,APP_KEY,APP_SECRET): print(">>> 開始偽原創(chuàng)中..") en_text = translate(APP_KEY, APP_SECRET, text) result_text=connect(en_text,APP_KEY, APP_SECRET) print(">>> 偽原創(chuàng)完成!") return result_textif __name__=='__main__': text="愛的故事上集" main(text,APP_KEY,APP_SECRET)希望可以來個大佬哥,指點一下下,救救渣渣!
這里采取了折中的方法,為了裝逼,不要臉了!
中文翻譯用自己的改寫版本
翻譯成英文直接用官方給出的實例版本
官方版本為deom.py文件引入
from demo import connect使用
def main(text,APP_KEY,APP_SECRET): print(">>> 開始偽原創(chuàng)中..") en_text = translate(APP_KEY, APP_SECRET, text) result_text=connect(en_text,APP_KEY, APP_SECRET) print(">>> 偽原創(chuàng)完成!") return result_text考慮到賬號信息是敏感信息,做了一下脫敏處理,從另一個文檔調(diào)用賬號信息!
從setting.py調(diào)用賬號信息
from setting import APP_KEY,APP_SECRETsetting.py文檔內(nèi)容
# 有道智云 API 賬號信息# -*- coding: utf-8 -*-APP_KEY = '賬號信息'APP_SECRET = '秘鑰'運行效果:
? ? ? ?? ? ? ?
怎么樣?你學(xué)廢了么?
? ? ? ? ? ? ?
微信公眾號:二爺記
不定時分享python源碼及工具
總結(jié)
以上是生活随笔為你收集整理的c++调用python接口_Python调用有道智云文本翻译API接口实现“智能”伪原创的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Redash 官方文档】查询-创建和编
- 下一篇: python图片转手绘_通过Python