百度翻译
import json
import requests
class Translate(object):
def __init__(self, query_string):
self.start_url = 'https://fanyi.baidu.com/langdetect'
self.url = "https://fanyi.baidu.com/basetrans"
self.headers = {
"User-Agent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Mobile Safari/537.36"}
self.query_string = query_string
def get_post_data(self, lan):
if lan == "en":
post_data = {
"query": self.query_string,
'from': 'en',
'to': 'zh'
}
else:
post_data = {
"query": self.query_string,
'from': 'zh',
'to': 'en'
}
return post_data
def parse_url(self, url, data):
response = requests.post(url=url, data=data, headers=self.headers)
json_str = response.content.decode()
return json.loads(json_str)
def language(self, json_str):
return json_str['trans'][0]['dst']
def run(self):
item_dict = self.parse_url(self.start_url, {'query': self.query_string})
data = self.get_post_data(item_dict['lan'])
item_dict = self.parse_url(self.url, data)
words = self.language(item_dict)
print("【 {} 】 : {}".format(self.query_string, words))
if __name__ == '__main__':
words = input('>')
translate = Translate(words)
translate.run()