import requests import json class Fanyi: def __init__(self,query_string): self.url = "http://fanyi.baidu.com/basetrans" self.query_string = query_string 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 get_post_data(self): #1.url,post_data post_data = {"query": self.query_string, "from": "zh", "to": "en"} return post_data def parse_url(self,url,data): #发送请求,获取响应 response = requests.post(url,data=data,headers=self.headers) return response.content.decode() def get_ret(self,json_str): #3.提取数据 temp_dict = json.loads(json_str) ret = temp_dict["trans"][0]["dst"] print("{}的翻译结果是 :{}".format(self.query_string,ret)) def run(self): #1.url,post_data post_data = self.get_post_data() #2.发送请求,获取响应 json_str = self.parse_url(self.url,post_data) #3.提取数据 self.get_ret(json_str) if __name__ == '__main__': fanyi = Fanyi("人生苦短,我用Python") fanyi.run()
/**
D:\develop\python\python35\python.exe D:/PycharmProjects/python26/05_baidu_fanyi.py
Traceback (most recent call last):
File "D:/PycharmProjects/python26/05_baidu_fanyi.py", line 36, in <module>
fanyi.run()
File "D:/PycharmProjects/python26/05_baidu_fanyi.py", line 32, in run
self.get_ret(json_str)
File "D:/PycharmProjects/python26/05_baidu_fanyi.py", line 23, in get_ret
ret = temp_dict["trans"][0]["dst"]
KeyError: 'trans'
Process finished with exit code 1
**/