pyhton实现翻译

简介:

root@ubuntu:/data/server/spider# cat fanyi2.py 

#coding:utf-8

import json

import requests

import sys


class FanYi:

    def __init__(self,query_str):

        # 准备语言检测的url和数据

        self.headers = self.headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}

        self.langdetect_url = "http://fanyi.baidu.com/langdetect"


        self.query_str = query_str

        self.langdetect_data = {'query':query_str}


    def parse_url(self,url,post_data):

        #发送请求获取响应

        json_res = requests.post(url,data=post_data,headers = self.headers)

        return json_res.content.decode()


    def get_postdata(self,lang):

        # if后面的条件如果成立,那么就把if前的值赋给to,

        # 否则if否面的条件不成立,就把else后的值赋给to

        fanyi_url = "http://fanyi.baidu.com/v2transapi"

        to = "en"  if lang == 'zh' else 'zh'


        fanyi_data = {'from':lang,

                        'to': to,

                        'query':query_str,

                        'transtype': 'translang',

                        'simple_means_flag':'3',

                            }

        return fanyi_url,fanyi_data


    def get_ret(self,json_res):

        # 将json string 转换为python字典类型

        dict_res = json.loads(json_res)

        # print('dict_res', dict_res)

        # ret = dict_res['trans_result']['data'][1]['result'][0][1]

        ret = dict_res['trans_result']['data'][0]['dst']

        print('%s翻译的结果是:%s'%(self.query_str,ret))


    def run(self):

        # 1.检测语言的url,检测语言的post——data

        # 2.发送请求获取响应

        lan_json_res = self.parse_url(self.langdetect_url,self.langdetect_data)

        # print('lan_json_res', lan_json_res)

        # 3。提取语言的类型

        lang = json.loads(lan_json_res)['lan']

        # ret = self.get_ret(json_res)

        # 4.获取翻译的url,翻译的post_data

        fanyi_url,fanyi_postdata = self.get_postdata(lang)

        # 5.发送请求获取响应

        fanyi_res = self.parse_url(fanyi_url,fanyi_postdata)

        # 6.获取翻译的结果

        ret = self.get_ret(fanyi_res)



if __name__ =="__main__":

    while True:

        query_str = input('请输入要翻译的内容:')

        # query_str = sys.argv[1]

        #实例化翻译对象

        baidu_fanyi = FanYi(query_str)

        #调用实例方法

        baidu_fanyi.run()


vim /root/.bashrc

alias fanyi='python3 /data/server/Spider/fanyi2.py'

source /root/.bashrc


直接在linux 命令下输入fanyi即可翻译了




本文转自 xxl714 51CTO博客,原文链接:http://blog.51cto.com/dreamgirl1314/1981064,如需转载请自行联系原作者

相关文章
|
4月前
|
Python
python 翻译,调用有道翻译
python 翻译,调用有道翻译
|
7月前
|
Web App开发 JSON 程序员
老程序员分享:Python有哪些好用的语言翻译方法
老程序员分享:Python有哪些好用的语言翻译方法
41 0
|
8月前
|
PyTorch 算法框架/工具 异构计算
PyTorch 2.2 中文官方教程(十九)(1)
PyTorch 2.2 中文官方教程(十九)
154 1
PyTorch 2.2 中文官方教程(十九)(1)
|
8月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 2.2 中文官方教程(十四)(4)
PyTorch 2.2 中文官方教程(十四)
124 1
PyTorch 2.2 中文官方教程(十四)(4)
|
8月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 2.2 中文官方教程(十四)(2)
PyTorch 2.2 中文官方教程(十四)
90 1
|
8月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 2.2 中文官方教程(十四)(3)
PyTorch 2.2 中文官方教程(十四)
95 1
|
8月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 2.2 中文官方教程(十四)(1)
PyTorch 2.2 中文官方教程(十四)
120 1
|
8月前
|
异构计算 PyTorch 算法框架/工具
PyTorch 2.2 中文官方教程(十九)(2)
PyTorch 2.2 中文官方教程(十九)
112 0
PyTorch 2.2 中文官方教程(十九)(2)
|
8月前
|
PyTorch 算法框架/工具 异构计算
PyTorch 2.2 中文官方教程(十九)(3)
PyTorch 2.2 中文官方教程(十九)
84 0
PyTorch 2.2 中文官方教程(十九)(3)
|
8月前
|
数据采集 自然语言处理 搜索推荐
《Python 语音转换简易速速上手小册》第4章 语音到文本的转换(2024 最新版)(下)
《Python 语音转换简易速速上手小册》第4章 语音到文本的转换(2024 最新版)
81 0

相关实验场景

更多