【Python】使用POST方式抓取有道翻译结果

1.安装requests库

 

 

 

 

2.打开有道翻译,按下F12,进入开发者模式,输入我爱青青,点击Network,再点击XHR

 

 

3、撰写爬虫

import requests
import json

# 使用有道翻译
def get_translate_date(word=None):
# 错误 url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
url = 'http://fanyi.youdao.com/translate'
Form_data={
'i': word,
'from':'AUTO',
'to':'AUTO',
'smartresult':'dict',
'client':'fanyideskweb',
'salt':'15477850915136',
'sign': 'cdedfb035de1ac1cf55109a1afb7a2c1',
'ts':'1547785091513',
'bv':'777cf4e24b15a2b93e1c9237866d73ad',
'doctype':'json',
'version':'2.1',
'keyfrom':'fanyi.web',
'action':'FY_BY_REALTIME',
'typoResult':'false',
}
# 请求表单数据
response = requests.post(url, data=Form_data)
# 将JSON格式字符串转字典
content = json.loads(response.text)
# 打印翻译后的数据
print(content['translateResult'][0][0]['tgt'])

if __name__ == '__main__':
get_translate_date('我爱青青')
4.翻译结果

 

5.错误处理(KeyError: 'translateResult')

Python的字典一般都直接查找key ,如果在查找的key不存在的时候就会报:KeyError:

将url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'

改为:url = 'http://fanyi.youdao.com/translate'
---------------------
作者:俊俊~
来源:CSDN
原文:https://blog.csdn.net/qq_40602000/article/details/86540928
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-07-10 11:31  阿波罗任先生  阅读(1025)  评论(1编辑  收藏  举报