目标:
—学会查找POST请求文报,从中获取Request URL,和post表单
—学会构造表单,通过requests库和post方法提交请求
—实现控制台输入词语,自动获取有道翻译内容

HTTP的POST请求方法:
—以form表单形式向服务器提交数据
—特点:所有提交数据都附在报文主体(Body)中

JSON:
—JavaScript对象表示法(JavaScript Object Notation)
—是存储和文本交换信息的语法
—JSON最基本的形式是对象的键值对:
{
    "firstName":"Peter",
    "lastName":"Parker",
    "nickName":"Spider man"
}
—JSON也可以在键值对中引入数组[]的形式:
{
"hero":[{
    "firstName":"Peter",
    "lastName":"Parker",
    "nickName":"Spider man"
}],
"badman":"Kraven the Hunter"
}
JSON的数组(array)
Python的列表(list)
JSON        Python
object        dict
array        list

实现思路:
—分析头部,找到关键POST请求/响应过程
—获取Requests URL
—获取并构建post表单
—基于requests.post()方法提交翻译请求
—实现控制台输入词语触发翻译

核心原理:
requests的post请求方法
—requests.post(url,data=data)
—eg. response=requests.post('https://xxxxxx',data=form)
JSON字符串转换为Python对应格式
—json.loads(json_str)
—loads方法把JSON格式字符串解码为Python的对象

import requests
import json
#1.基于控制台获取输入,待翻译词语
content=input("请输入: ")# 有道翻译网页版 输入一个词 右键-检查-XHR-Headers
#2.设定待请求的url
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'#3.建立post表单
post_form={'i': content,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': '15594607596192',
'sign':' a34ecbb30edd43352ca3cfcf15613d5b',
'ts': '1559460759619',
'bv': '363eb5a1de8cfbadd0cd78bd6bd43bee',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_REALTlME'
}#4.提交post请求
response=requests.post(url,data=post_form)#5.接收相应结果,并且解析提取
result_json=response.text
trans_dict=json.loads(result_json)
result=trans_dict['translateResult'][0][0]['tgt']
#6.打印翻译结果
print("打印结果:")
print(result)
print()

3.POST方法请求有道翻译相关推荐

  1. 最新!有道文档翻译免费获取方法,有道翻译文档复制方法,解决有道文档翻译不能复制问题

    2020年12月更新: 通过浏览器的 F12 开发者工具可以看到现在翻译后的内容是通过图片展示的,而之前是文字只是把复制功能禁用了而已,所以现在不管怎么处理也不能进行复制了. 这种情况下要想进行复制就 ...

  2. Python3 图片文字识别翻译——调用百度AI、百度翻译和有道翻译的API

    文章目录 Python3 图片文字识别翻译--调用百度AI.百度翻译和有道翻译的API 一.演示 二. API准备 三. 图片文字识别--调用百度AI文字识别API 四. 文字翻译 1. 百度翻译 请 ...

  3. Android 开发 有道翻译

    Android 开发 有道翻译 爬取有道翻译api接口,定制专属于你的翻译官 抓取有道翻译数据 Android 网络权限设置 Android 逻辑代码 post请求 (1)产生加密数据(补充:Andr ...

  4. 爬虫js逆向获取信息,有道翻译逆向{‘errorCode‘: 50}及UA错误

    直奔错误记录,{'errorCode': 50}的错误原因,在我的这次学习过程错误是由于请求使用错误,用了get方法,有道翻译是需要用post才能请求: 切记留意请求方式,不要习惯性使用request ...

  5. Python爬虫:js加密实例-有道翻译

    此项目,参考别人的教程,自己摸索了一下,将结果展示出来,以供后人参考 实现功能: 通过requests请求有道翻译的接口,返回翻译结果,并封装成函数使用 有道翻译地址:http://fanyi.you ...

  6. 有道接口php,php有道翻译api调用方法实例,php有道api实例

    php有道翻译api调用方法实例,php有道api实例 本文实例讲述了php有道翻译api调用方法,这里我们利用了file_get_contents函数直接读取由api返回的数据进行处理,分享给大家供 ...

  7. Python学习-有道翻译实现post请求(Python自带模块))

    1.前期准备工作 打开chrome浏览器,进入"百度一下"页面,在搜索框输入有道翻译,进入有道翻译官网,右击鼠标选择检查,进入开发者模式,然后在需要翻译的文本框输入翻译内容,接着在 ...

  8. Python3爬取有道翻译的两种方法

    一. 破解参数加密 有道翻译的请求是post,携带一系列参数,直接F12刷新进行调试,如下图所示: 这是一个 post 请求,目标网址是 'http://fanyi.youdao.com/transl ...

  9. 有道翻译多语言接口的调用方法(Python)

    相关链接:3种谷歌多语言翻译接口的调用方法(Python)在日常的生活和工作中,我们经常会需要使用到翻译工具.在诸多翻译工具中,我个人更青睐谷歌翻译,因此在这里整理通过Python调用谷歌翻译接口的3 ...

最新文章

  1. 在RHEL5下构建DHCP及DHCP中继服务器
  2. 64位Ubuntu kylin 16.04搭建nfs网络文件系统
  3. 具有Spring Boot的Spring Integration Standalone应用程序
  4. CVE-2016-0143 漏洞分析(2016.4)
  5. python网络编程-一些常用有用的函数
  6. 计算机操作系统学习笔记_6_进程管理 --死锁
  7. 元宵节电商促销首页设计PSD分层模板
  8. 天津理工大学计算机调剂信息,天津理工大学2020考研调剂信息
  9. testlink配置修改
  10. VBS 代码合集(慎用,好玩)
  11. ss下,解决ncurl: (7) Failed to connect to android.googlesource.com port 443: Connection refused
  12. CSS三大特性(层叠/继承/优先)
  13. android模拟器mac版本下载,TapTap安卓模拟器for Mac-TapTap模拟器Mac版下载 V1.8.3-PC6苹果网...
  14. 3分钟带你了解Web前端开发工程师需要掌握什么?
  15. Mac电脑升级13系统后,git clone 代码报错,mac升级后git ssh用不了
  16. vue基础模板代码块设置
  17. win系统C++的udp通信(接收并发送)详细教程、win下inet_pton和inet_ntop无法使用解决方法
  18. .env .env.development .env.production 配置说明
  19. [记录]es6常用去重方法(数组、字符串)
  20. AcWing:Dijkstra

热门文章

  1. 影视后期制作就业公司怎么选?
  2. 在寒冬下,程序员如何赚钱?
  3. Dockerfile命令详解之 COPY
  4. 达梦数据库[-718]收集到的归档日志不连续错误。
  5. python基础训练—集合
  6. 在互联网领域他比马化腾还厉害
  7. 左岸的一篇文章关于早起的:早起的鸟儿有虫吃!
  8. win10系统下安装MySQL的过程
  9. c语言程序设计 链表,c语言程序设计基于链表的学生成绩管理系统.doc
  10. QT嵌入式软键盘(基于谷歌拼音源码、多平台)