百度翻译的代码实现,POST请求对接百度翻译接口获取Json数据
# coding=utf-8import requestsimport jsonimport sysclass BaiduFanyi: def __init__(self, query_string): self.post_url = "http://fanyi.baidu.com/basetrans" self.query_string = query_string self.headers = { "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/56.0.2924.75 Mobile/14E5239e Safari/602.1"} def get_post_data(self): # 获取请求体 #进行语言检测 #准备post_data post_data = {"query": self.query_string, "from": "zh", "to": "en"} return post_data def parse_url(self, post_data): # 发送请求,获取响应 resp = requests.post(self.post_url, post_data, headers=self.headers) return resp.content.decode() def get_ret(self, html_str): # 提取数据 dict_ret = json.loads(html_str) ret = dict_ret["trans"][0]["dst"] print("{}的翻译结果是:{}".format(self.query_string, ret)) def run(self): # 实现主要逻辑 # 1.url,post_data post_data = self.get_post_data() # 2. 发送请求,获取响应 html_str = self.parse_url(post_data) # 3.提取数据 self.get_ret(html_str)if __name__ == '__main__': query_string = sys.argv[1] baidu_fanyi = BaiduFanyi(query_string) baidu_fanyi.run()