首先第一步开始准备工作
# coding=utf-8
import requests
class Fanyi:
def __init__(self):
pass
def run(self):
pass
if __name__ == '__main__':
pass
第二步梳理业务逻辑
- # 1.获取语言类型
# 1.1准备post的url地址
# 1.2发送post请求获取响应
# 1.3提取语言类型 - # 2.准备post的数据
- # 3.发送请求,获取响应
- # 4.提取翻译的结果
# coding=utf-8
import requests
class Fanyi ():
def __init__(self):
pass
def parse_url(self):#发送post请求,获取响应
pass
def get_ret(self):#提取翻译的结果
pass
def run(self):
pass
# 1.获取语言类型
# 1.1准备post的url地址
# 1.2发送post请求获取响应
# 1.3提取语言类型
# 2.准备post的数据
# 3.发送请求,获取响应
# 4.提取翻译的结果
if __name__ == '__main__':
pass
第三步,设置初始化语言识别的url
翻译返回的url
模拟请求头headers
准备post的url地址
# coding=utf-8
import requests
class Fanyi ():
def __init__(self,trans_str):
self.trans_str = trans_str
self.lang_detect_url = "https://fanyi.baidu.com/langdetect"
self.trans_url = "https://fanyi.baidu.com/basetrans"
self.headers = {"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"}
def parse_url(self):#发送post请求,获取响应
pass
def get_ret(self):#提取翻译的结果
pass
def run(self):
# 1.获取语言类型
# 1.1准备post的url地址
lang_detect_data = {"query":self.trans_str}
# 1.2发送post请求获取响应
# 1.3提取语言类型
# 2.准备post的数据
# 3.发送请求,获取响应
# 4.提取翻译的结果
if __name__ == '__main__':
pass
准备post的数据
# coding=utf-8
import requests
import json
class Fanyi ():
def __init__(self,trans_str):
self.trans_str = trans_str
self.lang_detect_url = "https://fanyi.baidu.com/langdetect"
self.trans_url = "https://fanyi.baidu.com/basetrans"
self.headers = {"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"}
def parse_url(self,url,data):#发送post请求,获取响应
response = requests.post(url,data=data,headers=self.headers)
return json.loads(response.content.decode())
def get_ret(self,dict_response):#提取翻译的结果
ret = dict_response["trans"][0]["dst"]
print("翻译结果为:",ret)
def run(self):
# 1.获取语言类型
# 1.1准备post的url地址
lang_detect_data = {"query":self.trans_str}
# 1.2发送post请求获取响应
lan = self.parse_url(self.lang_detect_url,lang_detect_data)["lan"]
# 1.3提取语言类型
# 2.准备post的数据
trans_data = {"query":self.trans_str,"from":"zh","to":"en"}if lan == "zh" \
else {"query":self.trans_str,"from":"en","to":"zh"}
# 3.发送请求,获取响应
# 4.提取翻译的结果
if __name__ == '__main__':
pass
发送请求获取响应
# coding=utf-8
import requests
import json
import sys
class Fanyi ():
def __init__(self,trans_str):
self.trans_str = trans_str
self.lang_detect_url = "https://fanyi.baidu.com/langdetect"
self.trans_url = "https://fanyi.baidu.com/basetrans"
self.headers = {"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"}
def parse_url(self,url,data):#发送post请求,获取响应
response = requests.post(url,data=data,headers=self.headers)
return json.loads(response.content.decode())
def get_ret(self,dict_response):#提取翻译的结果
ret = dict_response["trans"][0]["dst"]
print("翻译结果为:",ret)
def run(self):
# 1.获取语言类型
# 1.1准备post的url地址
lang_detect_data = {"query":self.trans_str}
# 1.2发送post请求获取响应
lan = self.parse_url(self.lang_detect_url,lang_detect_data)["lan"]
# 1.3提取语言类型
# 2.准备post的数据
trans_data = {"query":self.trans_str,"from":"zh","to":"en"}if lan == "zh" \
else {"query":self.trans_str,"from":"en","to":"zh"}
# 3.发送请求,获取响应
dict_response = self.parse_url(self.trans_url,trans_data)
# 4.提取翻译的结果
self.get_ret(dict_response)
if __name__ == '__main__':
trans_str= sys.argv[1]
baidu_fanyi = Fanyi(trans_str)
baidu_fanyi.run()
运行