这篇文章主要介绍“怎么用python做翻译程序”,在日常操作中,相信很多人在怎么用python做翻译程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用python做翻译程序”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
首先打开有道翻译的网址:
”http://fanyi.youdao.com/“
按 f12 打开检查工具
点击element浏览了一下
发现html里并没有我们想要的内容
说明它不是静态加载的
那应该是经过动态Ajax加载的
所以点击Network,开始它长这样的
你会看到啥都没有
按F5刷新一下就会出现很多网址或文件
这些文件是有道翻译网页的组成部分
从上到下依次加载
不过这里不要刷新
不然待会还要花时间找对应的信息
在1处随便写些内容
然后点击XHR(这个先点后点都没关系)
然后会在3处跳出一个网址
点击headers会看见第4处的内容
点击preview
会发现里面有我们要翻译的内容和结果
看来我们找对了方向了
它是以json格式进行存储数据的
这对于我们提取数据会更加方便
那居然知道网址后就是提取数据
那我们要怎么提取呢
回到我们的headers,在第4处有个网址
这个网址才是真正存储我们需要的数据的网址
继续往下看
找到 Request Method
原来它是post方式对服务器进行请求的
那我们要提交什么数据呢
继续往下看
在From data里发现了我们想要翻译的内容
看来以下这段就是我们需要提交的数据了
这么多数据我们该怎么获得呢
别急~
我们试着翻译其他内容
看看有哪些值会变
经过对比后发现
有四个值发生了变化
分别是”i,salt,sign,ts"这四个
i是我们要翻译的内容
另外三个不知道是什么
后面发现这三个不用管也可以
知道我们的目标在哪后
就是写代码进行提取数据了
因为是json格式
相当于字典
所以很好获取
因为代码不是很多
也不会很难理解
所以有些方面我就不细讲了
直接上代码
import requestsurl = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"data = {"i":input("输入要翻译的内容:"),"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","bv": "146ae0587a435b36d5e7ac4d9b08bde6","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action":" FY_BY_REALTlME"}req = requests.post(url,data = data) #以post的方式js = req.json()result = js["translateResult"][0][0]["tgt"]print(result)
requests对象有个向服务器请求有两种方法
一种是get请求
一种就是今天这种post请求
这两种有什么区别呢?
get请求是不用提交表单的
也就是不用提交额外的数据
一般用于下载静态网页之类的
post请求就是需要我们提供一些数据给服务器的
比如说登陆就是用post请求
然后post方法里有个data参数
用来存储提交的数据
它是以字典的数据结构进行存储的
因为我们要从json格式里提取数据
所以我们用json方法将下载后的数据转换为json格式
最后就跟提取字典一样操作就OK了
到此,关于“怎么用python做翻译程序”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。