• 【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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    单元测试
    软件工程
    使用工具进行单元测试
    关于软件工程的理解
    使用Junit等工具进行单元测试
    目前对软件工程所存在的问题
    二人组-----五子棋
    使用Junit等工具进行单元测试过程记录
    对软件工程的理解以及存在的问题
    软件设计文档及数据流向图
  • 原文地址:https://www.cnblogs.com/apolloren/p/11162839.html
Copyright © 2020-2023  润新知