Python调用有道智云文本翻译API接口实现“智能”伪原创

随着人工智能的火热,互联网热门韭菜行业SEO也貌似进入了AI的快车道,尤其以智能伪原创超级热门,你会发现几乎是个seo工具网站都挂着智能伪原创的“狗头”招牌,抱着人无我有,人有我优的seo优化心态,都吹嘘自己的伪原创最最最有效。

       Python调用有道智云文本翻译API接口实现“智能”伪原创_第1张图片      

本质上智能伪原创都是翻译来翻译去而形成的内容,高级智能伪原创不妨试试各种小语种的翻译,估计会有奇效,所谓大力出奇效,当然还有这个捞偏门的奇效方法。

 

市面上绝大部分智能伪原创的原理:

第一,把文本翻译成英文

第二,把英文重新翻译成中文

 

当然初始的文本内容是如何操作,以及最终获得的文本内容再如何操作,那就看你自己的操作了,还有各种变态,衍生版本,比如前面提到的小语种翻译,不妨自行尝试效果。

 

优化处理本身就是一个细活,越精致是越好的!

 

回归正题,应用Python调用有道智云官方文本翻译API接口来实现“智能”伪原创的功能,当然本渣渣是不会写的,官方文档已经给出了Python调用例子,可以直接使用,ctrl+c,ctrl+v大法好,必须得学废使用啊!

 

有道智云注册

第一步:注册一个有道智云账号,需手机号验证,实名认证。

       Python调用有道智云文本翻译API接口实现“智能”伪原创_第2张图片      

新账户直接赠送50元体验金

       Python调用有道智云文本翻译API接口实现“智能”伪原创_第3张图片      

第二步:注册成功后,创建应用获取账号及秘钥。

       Python调用有道智云文本翻译API接口实现“智能”伪原创_第4张图片      

第三步:创建翻译实例,绑定应用

       Python调用有道智云文本翻译API接口实现“智能”伪原创_第5张图片      

附上后台设置一览,接入方式,选择API

       Python调用有道智云文本翻译API接口实现“智能”伪原创_第6张图片      

 

有道智云API文档文本翻译服务帮助文档(关键部分)

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

       Python调用有道智云文本翻译API接口实现“智能”伪原创_第7张图片      

重点提一下其签名方法

signType=v3;

sign=sha256(应用ID+input+salt+curtime+应用密钥);

其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

 

可想而知,逆向的难度!

 

调用api是常规操作,其官方文档,帮助中心一定要研究好,不然容易翻车!

同理,python及框架官方文档也需要把握好!

 

Python调用API接口实现“智能”伪原创

 

Python3 示例(官方文档)

# 有道智云 API文档  文本翻译服务 Python3 示例
# -*- coding: utf-8 -*-


import sys
import uuid
import requests
import hashlib
import time
#from imp import reload       imp 已经弃用,替换为 importlib


from importlib import reload
import json




reload(sys)


YOUDAO_URL = 'https://openapi.youdao.com/api'
# APP_KEY = '应用账号'
# 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文档  文本翻译服务
#20200801 by 微信:huguo00289
# -*- coding: utf-8 -*-


import uuid
import requests
import hashlib
import time
import json
from setting import APP_KEY,APP_SECRET
from demo import connect


def 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'}


    #文本格式转化
    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())) #当前UTC时间戳(秒)
    salt=str(uuid.uuid1())  #UUID


    #实现签名
    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_text




def main(text,APP_KEY,APP_SECRET):
    print(">>> 开始伪原创中..")
    en_text = translate(APP_KEY, APP_SECRET, text)
    result_text=connect(en_text,APP_KEY, APP_SECRET)
    print(">>> 伪原创完成!")
    return result_text






if __name__=='__main__':
    text="爱的故事上集"
    main(text,APP_KEY,APP_SECRET)


希望可以来个大佬哥,指点一下下,救救渣渣!

 

这里采取了折中的方法,为了装逼,不要脸了!

中文翻译用自己的改写版本

翻译成英文直接用官方给出的实例版本

官方版本为deom.py文件引入

from demo import connect

使用

def main(text,APP_KEY,APP_SECRET):
    print(">>> 开始伪原创中..")
    en_text = translate(APP_KEY, APP_SECRET, text)
    result_text=connect(en_text,APP_KEY, APP_SECRET)
    print(">>> 伪原创完成!")
    return result_text

 

考虑到账号信息是敏感信息,做了一下脱敏处理,从另一个文档调用账号信息!

从setting.py调用账号信息

from setting import APP_KEY,APP_SECRET

setting.py文档内容

# 有道智云 API  账号信息
# -*- coding: utf-8 -*-
APP_KEY = '账号信息'
APP_SECRET = '秘钥'

 

运行效果:

       Python调用有道智云文本翻译API接口实现“智能”伪原创_第8张图片       

怎么样?你学废了么?

 

       Python调用有道智云文本翻译API接口实现“智能”伪原创_第9张图片      

微信公众号:二爷记

不定时分享python源码及工具

你可能感兴趣的:(python,小程序,json,数据挖掘,openstack)