设为首页 收藏本站
查看: 780|回复: 0

[经验分享] Python实现翻译小工具

[复制链接]

尚未签到

发表于 2018-8-13 08:53:54 | 显示全部楼层 |阅读模式
#!/bin/env python  # -*- coding:utf-8 -*-
  # _author:kaliarch
  import requests
  import urllib.parse
  import time
  import random
  import hashlib
  import json
  class search(object):
  def __init__(self):
  self.url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
  def getData(self,search_name):
  # salt =i = "" + ((new Date).getTime() + parseInt(10 * Math.random(), 10)
  salt = ((time.time() * 1000) + random.randint(1,10))
  # sign = n.md5("fanyideskweb" + t + i + "ebSeFb%=XZ%T[KZ)c(sy!")
  sign_text = "fanyideskweb" + search_name + str(salt) + "ebSeFb%=XZ%T[KZ)c(sy!"
  sign = hashlib.md5((sign_text.encode('utf-8'))).hexdigest()
  paydata = {
  'i': search_name,
  'from': 'AUTO',
  'to': 'AUTO',
  'smartresult': 'dict',
  'client': 'fanyideskweb',
  'salt': salt,
  'sign': sign,
  'doctype': 'json',
  'version': '2.1',
  'keyfrom': 'fanyi.web',
  'action': 'FY_BY_CLICKBUTTION',
  'typoResult': 'false'
  }
  return paydata
  def getHeader(self):
  header = {
  'Host': 'fanyi.youdao.com',
  'Referer': 'http://fanyi.youdao.com/',
  'Content-Type': 'application/x-www-form-urlencoded; ',
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',
  'Cookie': 'OUTFOX_SEARCH_USER_ID=-846616837@1.80.219.201; OUTFOX_SEARCH_USER_ID_NCOO=129549097.60835753; UM_distinctid=15ff309f18ddc-094cb5494ad815-5d4e211f-1fa400-15ff309f18e449; _ga=GA1.2.184261795.1517119351; __guid=204659719.2556877880764680700.1518435624954.942; JSESSIONID=aaa3A5BLhtTrh4TPX_mgw; monitor_count=2; ___rl__test__cookies=1518488731567'
  }
  return header
  def getRequest(self,paydata,header):
  _data = urllib.parse.urlencode(paydata).encode('utf-8')
  _header = header
  response = requests.post(self.url,data=_data,headers=_header)
  return response.text
  def getResult(self,response):
  result_text = json.loads(response)
  #src = result_text['translateResult'][0][0]['src']
  tgt = result_text['translateResult'][0][0]['tgt']
  return tgt
  def main(self,search_name):
  app = search()
  paydata = app.getData(search_name)
  header = app.getHeader()
  response = app.getRequest(paydata, header)
  tgt = app.getResult(response)
  return tgt

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-550949-1-1.html 上篇帖子: python对比配置文件差异 下篇帖子: python 中正则表达式的使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表