import requests
import json
class SpiderYouDao(object):
def __init__(self, sentence):
self.url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
self.sentence = sentence
self.headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"}
def get_data(self, content):
data = {
'i': content,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': '15438901316318',
'sign': '2ab7f2f64515f0004f89e3104fa74322',
'ts': '1543890131631',
'bv': '6728b93ea32700f1d7e56b2bead018b5',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_CLICKBUTTION',
'typoResult': 'false',
}
return data
def parse_url(self, data):
"""发送请求,获取请求数据"""
response = requests.post(self.url, data=data, headers=self.headers)
res = (response.content.decode("utf-8"))
return res
def get_ret(self, json_str):
sen_dict = json.loads(json_str)
return sen_dict['translateResult'][0][0]["tgt"]
def run(self, content):
# 1、获取url地址,相关参数,
post_data = self.get_data(content)
# 3、获取相应内容
response = self.parse_url(post_data)
# 提取数据
sen = self.get_ret(response)
print(sen)
if __name__ == '__main__':
a = SpiderYouDao('')
a.run("")