用python写个翻译小程序——死循环程序

一、有道词典

有道在线翻译有自动翻译功能(Ajax),我们可以借助这个功能在不用click的情况下,利用python实现我们的翻译小程序。

二、思路

爬虫思路类似,继承有道在线翻译功能,写在代码里了。

三、代码

import urllib
from urllib import request
import time
import re

#这是个请求头,为了让服务器检测为浏览器登录,是一个字典形式,里面也可加入cookie
header={
"User-Agent":"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
}
#有道在线翻译的网址
url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
    #http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule

while 1==1:#死循环,实现不用重启程序,循环翻译

  key=input("请输入需要翻译的文字: ")
  #这个是在network中查看,复制过来,改成字典即可
  formdata={
"i":key,
"from": "AUTO",
"to": "AUTO",
"smartresult": "dict",
"client": "fanyideskweb",
"salt": "15645441808120",
"sign": "a133fd1480c8b9dab75ab7f7ec9a3c75",
"ts": "1564544180812",
"bv": "d775e8f5ecc1ab2619a27e7a67a4fbb9",
"doctype": "json",
"version": "2.1",
"keyfrom": "fanyi.web",
"action": "FY_BY_REALTlME",
"TypoResult":"false"
}
#编码
  data=urllib.parse.urlencode(formdata).encode(encoding='UTF-8')
#请求网页
  req=request.Request(url,data=data,headers=header)
#打开读取网页
  resp=request.urlopen(req).read().decode()
#编写正则表达式,定位翻译内容
  pat=r'"tgt":"(.*?)"}]]}'
#找到resp中的pat
  result=re.findall(pat,resp)
#打印
  print(result[0])
  
  
#延迟关闭
time.sleep(10)

四、执行

执行程序(例如输入:我是谁?、我在哪?、我在干什么?、translation、un sur deux(法语)、sagen(德语))在这里插入图片描述

五、总结

                      **没有总结**
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值