爬金山词霸翻译
作者:互联网
import json import requests class FanyiSpider: def __init__(self,fanyi): self.url = "http://fy.iciba.com/ajax.php?a=fy" self.fanyi = fanyi self.headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"} #写入from data 在 notwork里面 def get_post_data(self) post_data = {"f":"auto", "t":"auto", "w":self.fanyi} #返回data数据 return post_data #请求 URL,带上data跟写好的 headers(注:是告诉浏览器用什么访问的) def parse_url(self,url,data): response = requests.post(url,data=data,headers=self.headers) #返回response内容,decode默认解码utf-8 return response.content.decode("utf-8") def get_ret(self,json_str): #获取响应的json数据并转换成字典 temp_dict = json.loads(json_str) print(temp_dict) #提取 需要的数据 (注:在Notwork 响应里面有一串json字符串,依照关键字查询) ret=temp_dict["content"]["out"] print("{}:{}".format(self.fanyi,ret)) #主程序 def run(self): #调用URL函数 post_data = self.get_post_data() #定义json_str 调用parse_url获取的结果 赋值给json_str json_str = self.parse_url(self.url,post_data) #调用get_ret函数来打印结果 self.get_ret(json_str) if __name__ == "__main__": a=input("请输入要翻译的内容:") b=FanyiSpider(a) b.run()
标签:__,翻译,url,self,json,post,data,金山词霸 来源: https://www.cnblogs.com/yl1710/p/10741450.html