【2019.06.10】python 打包翻译exe小程序,打造你自己的翻译软件

有道翻译 Api破解

之前写过,分析js,逆向破解参数,拼接请求。文章链接见下面
JS逆向——破解有道翻译参数(sign)爬虫 超级详细

代码改造

python中获取外界参数:

  • 方法1:args 是运行前输入参数(不能在exe控制台中输入,可以用cmd窗口执行:translate-by-ybs translate this text);
  • 方法2:input是运行时输入参数(可以在exe控制台中输入);
     
    这里使用用input获取待翻译的文本参数
    另外,通过打包后的exe执行结束后,会关闭掉窗口。这里我们使用 while循环:
 while True:
        t_text = input("\n请输入待翻译的文本(from ybs):\n")
        translate(t_text)
#!/usr/bin/env python
# encoding: utf-8
# @software: PyCharm
# @time: 2019/5/21 15:38
# @author: Paulson●Wier
# @file: translate-by-ybs.py
# @desc:
import random

import requests
import time
import hashlib


def md5_b(key):
    m = hashlib.md5()
    m.update(key.encode('utf-8'))
    return m.hexdigest()


def sign_b(key, salt):
    sign = 'fanyideskweb' + key + str(salt) + '@6f#X3=cCuncYssPsuRUE'
    return md5_b(sign)


def translate(key):
    url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
    salt = str(int(time.time()*1000) + random.randint(0, 10))
    data = {
        "i": key,
        "from": "AUTO",
        "to": "AUTO",
        "smartresult": "dict",
        "client": "fanyideskweb",
        "ts": salt[:-1],
        "salt": salt,
        "sign": sign_b(key, salt),
        "bv": md5_b("5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
                    "(KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"),
        "doctype": "json",
        "version": "2.1",
        'keyfrom': 'fanyi.web',
        'action': 'FY_BY_REALTIME',
        # 'typoResult': 'false'
    }

    headers = {
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
        'Connection': 'keep-alive',
        "Content-Length": "272",
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Cookie': 'OUTFOX_SEARCH_USER_ID=-995880639@10.168.8.64; JSESSIONID=aaa4S2JviOjAFe8LvizRw; '
                  'OUTFOX_SEARCH_USER_ID_NCOO=2146618943.795375; ___rl__test__cookies=1558425516486',
        'Host': 'fanyi.youdao.com',
        'Origin': 'http://fanyi.youdao.com',
        'Referer': 'http://fanyi.youdao.com/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
                      ' (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36',
        'X-Requested-With': 'XMLHttpRequest'
    }

    res = requests.post(url, data=data, headers=headers).json()
    # print(res)

    result = res['translateResult'][0][0]
    result_tgt = result['tgt']
    result_src = result['src']

    print(f"""‘{result_src}’\n‘{result_tgt}’""")

    try:
        print('\n其它翻译:\n'+''.join(res['smartResult']['entries']))
    except KeyError:
        pass


if __name__ == '__main__':
    # 1. 正常执行代码
    # translate("你可真是个小机灵鬼!")

    # 2. 命令行传入参数执行代码,不适合用于打包成exe执行
    # from sys import argv
    # print(len(argv))
    #
    # if len(argv) == 2:
    #     t_text = argv[1]
    #     translate(t_text)
    # elif len(argv) > 2:
    #     t_text = argv[1:]
    #     translate(' '.join(t_text))
    # else:
    #     print('请使用以下方式执行代码:\n python `translate-by-ybs.py`
  xxx')

    # 3. input 输入参数,打包后可以再黑框中输入参数
    while True:
        t_text = input("\n请输入待翻译的文本(from ybs):\n")
        translate(t_text)



打包

my.ico是一个图标名,和当前的translate-by-ybs.py文件在同一个目录下
translate-by-ybs.py文件目录下执行以下代码

pyinstaller -F --icon=favicon.ico translate-by-ybs.py

执行结束后会在当前路径下dist文件中生成 translate-by-ybs.exe
在这里插入图片描述

结果

双击执行translate-by-ybs.exe
在这里插入图片描述
翻译exe小程序已上传GitHub,如果有帮到你
点赞
star
关注
follow
点击前往GitiHub

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python程序打包成.exe文件可以方便地在Windows系统中运行程序,而不需要安装Python解释器。以下是一些常用的Python打包工具: 1. PyInstaller:一个流行的Python打包工具,它可以将Python代码和依赖项打包成单个可执行文件。 2. cx_Freeze:一个跨平台的Python打包工具,可以将Python代码和依赖项打包成单个可执行文件。 3. py2exe:一个将Python代码打包成Windows可执行文件的工具,它可以将Python程序转换为独立的.exe文件,也可以作为DLL文件使用。 4. PyOxidizer:一个比较新的Python打包工具,可以将Python代码和依赖项打包成单个可执行文件,支持多平台。 这里以PyInstaller为例,介绍如何将Python程序打包成.exe文件: 1. 安装PyInstaller:可以使用pip命令进行安装,打开命令行窗口输入以下命令: ``` pip install pyinstaller ``` 2. 打包Python程序:将需要打包Python程序放置在一个文件夹中,打开命令行窗口,进入该文件夹,并执行以下命令: ``` pyinstaller --onefile your_program.py ``` 其中,your_program.py是你要打包Python程序的文件名。执行该命令后,PyInstaller会在dist文件夹中生成一个可执行文件。 3. 运行打包后的程序:在dist文件夹中找到刚刚生成的可执行文件,双击运行即可。 注意事项: 1. 打包过程中,使用到的Python模块需要在打包前先安装好。 2. 打包后的可执行文件有时会比较大,需要注意文件大小。 3. 在打包时,需要注意程序的依赖项是否正确,否则打包后的程序可能无法正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值