2018-03-0720:53:56

成功的效果如下


代码备份

# -*- coding: UTF-8 -*-
from urllib import request
from urllib import parse
import json if __name__ == "__main__":
#对应上图的Request URL
Request_URL = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc'
#创建Form_Data字典,存储上图的Form Data
Form_Data = {}
Form_Data['i'] = 'hello'
Form_Data['from'] = 'AUTO'
Form_Data['to'] = 'AUTO'
Form_Data['smartresult'] = 'dict'
Form_Data['client'] = 'fanyideskweb'
Form_Data['salt'] = ''
Form_Data['sign'] = 'ba35f5fdee5f0658938245b5f216d897'
Form_Data['doctype'] = "json"
Form_Data['version'] = '2.1'
Form_Data['keyfrom'] = 'fanyi.web'
Form_Data['action'] = 'FY_BY_REALTIME'
Form_Data['typoResult'] = 'false'
#使用urlencode方法转换标准格式
data = parse.urlencode(Form_Data).encode('utf-8')
#传递Request对象和转换完格式的数据
response = request.urlopen(Request_URL,data)
print(response.getcode())
#读取信息并解码
html = response.read().decode('utf-8')
#使用JSON
translate_results = json.loads(html)
#找到翻译结果
translate_results = translate_results["translateResult"][0][0]['tgt']
#打印翻译信息
print(html)
print("翻译的结果是:%s" % translate_results)

效果还是可以的,毕竟这是自己的第一次调试。

代码更新

加入json数据解析的方法

# -*- coding: UTF-8 -*-
from urllib import request
from urllib import parse
import json if __name__ == "__main__":
#对应上图的Request URL
Request_URL = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc'
#创建Form_Data字典,存储上图的Form Data
Form_Data = {}
Form_Data['i'] = '我曾经有一个梦想'
Form_Data['from'] = 'AUTO'
Form_Data['to'] = 'AUTO'
Form_Data['smartresult'] = 'dict'
Form_Data['client'] = 'fanyideskweb'
Form_Data['salt'] = ''
Form_Data['sign'] = 'ba35f5fdee5f0658938245b5f216d897'
Form_Data['doctype'] = "json"
Form_Data['version'] = '2.1'
Form_Data['keyfrom'] = 'fanyi.web'
Form_Data['action'] = 'FY_BY_REALTIME'
Form_Data['typoResult'] = 'false'
#使用urlencode方法转换标准格式
data = parse.urlencode(Form_Data).encode('utf-8')
#传递Request对象和转换完格式的数据
response = request.urlopen(Request_URL,data)
#读取信息并解码
html = response.read().decode('utf-8')
#使用JSON
translate_results = json.loads(html)
print("输出json数据为: %s" % translate_results)
# 找到可用的key
print("可用的key为:%s" %translate_results.keys())
#找到翻译结果
test = translate_results["type"]
your_input = translate_results["translateResult"][0][0]['src']
translate_results = translate_results["translateResult"][0][0]['tgt'] #打印翻译信息 print("测试输出 %s" %test)
print("待翻译的内容为:%s" % your_input)
print("翻译的结果是:%s" % translate_results)

输出结果为

C:\Users\Administrator\PycharmProjects\python_test1\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/python_test1/123.py
输出json数据为: {'type': 'ZH_CN2EN', 'errorCode': 0, 'elapsedTime': 1, 'translateResult': [[{'src': '我曾经有一个梦想', 'tgt': 'I had a dream'}]]}
可用的key为:dict_keys(['type', 'errorCode', 'elapsedTime', 'translateResult'])
测试输出 ZH_CN2EN
待翻译的内容为:我曾经有一个梦想
翻译的结果是:I had a dream Process finished with exit code 0

最新文章

  1. Linux less 命令
  2. For循环打印正三角,倒三角,菱形
  3. 各大浏览器hack
  4. 获取checkbox后面的文本内容
  5. Lae程序员小漫画(三),仅供一乐
  6. AVAudioSession初探
  7. Yii里增删改查的操作方法
  8. 我所了解的WEB开发(4) - 神奇的URL
  9. 二级c程序设计题(2)
  10. Asp.Net Unix时间戳和DateTime类型转换
  11. GPUImage 滤镜头文件
  12. PHP按最大宽高等比例缩放图片类
  13. CSS3新增UI样式
  14. (转)C#与C++之间类型的对应
  15. 转: ES6异步编程: co函数库的含义与用法
  16. JAVA FILE or I/O学习 - 补充CopyFiles功能
  17. 算法学习笔记(三) 最短路 Dijkstra 和 Floyd 算法
  18. 关于LIST.Select().ToList()慢的问题
  19. TypeScript入门-枚举、类型推论
  20. Azure ASM虚拟机部署“安全扩展”

热门文章

  1. JSTL-函数标签库
  2. Application特征
  3. TextView设置成仅仅读
  4. C# 实现WEBSOCKET聊天应用示例
  5. [Java] 监控java对象回收的原理与实现
  6. HDU 5752Sqrt Bo
  7. xubuntu 17.04 和 iphone 6互传文件方法——使用libimobiledevice就可以像u盘一样操作文件了
  8. 学习 Shell —— 认识 shell
  9. Python Flask Web 框架入门
  10. 17.EXTJs 中icon 与iconCls的区别及用法!