2024年Python最新Python实现翻译小工具_python翻译工具(1)

#!/bin/env python
# -*- coding:utf-8 -*-
# _author:kaliarch
#Python学习交流群:548377875

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; charset=UTF-8',
            '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

windows.py代码如下:

#!/bin/env python
# -*- coding:utf-8 -*-
# _author:kaliarch
#Python学习交流群:548377875

import tkinter as tk
from fanyi import search

class application:
    def __init__(self):
        self.windows = tk.Tk()
        self.windows.title("翻译小工具")
        self.windows.geometry("280x350+700+300")

        #提交按钮
        self.submit_btn = tk.Button(self.windows, text="查询",command=self.submit)
        self.submit_btn.place(x=220, y=10, width=50, height=25)

        # 定义输入框
        self.entry = tk.Entry(self.windows)
        self.entry.place(x=10, y=10, width=200, height=40)

        #输出内容
        self.result_text = tk.Text(self.windows, background="#ccc")
        self.result_text.place(x=10, y=90, width=260, height=245)

        # 翻译结果标题
        self.title_label = tk.Label(self.windows, text="翻译结果:")
        self.title_label.place(x=10, y=65)
        self.search_result = search()

    def submit(self):
        #1.获取用户输入
        context = self.entry.get()

        #2.利用有道翻译
        result = self.search_result.main(context)
        #3.输出
        self.result_text.delete(1.0,tk.END)
        self.result_text.insert(tk.END,result)

    def run(self):
        self.windows.mainloop()

if __name__ == '__main__':
    winapp = application()
    winapp.run()

文末有福利领取哦~

👉一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。img

👉二、Python必备开发工具

img
👉三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
img

👉 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
img

👉五、Python练习题

检查学习结果。
img

👉六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
img

img

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴为您介绍Python 2024代码。以下是一个简单的示例,可以在Python中创建一个绚丽多彩的新烟花效果: ```python import pygame import random # 初始化pygame pygame.init() # 设置屏幕大小 screen = pygame.display.set_mode((800, 600)) # 设置标题 pygame.display.set_caption("Python 2024烟花") # 定义颜色 BLACK = (0, 0, 0) WHITE = (255, 255, 255) RED = (255, 0, 0) GREEN = (0, 255, 0) BLUE = (0, 0, 255) # 定义烟花类 class Firework: def __init__(self, x, y): self.x = x self.y = y self.gravity = 0.1 self.lifespan = 100 self.velocity = -10 self.color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) self.particles = [] for i in range(100): self.particles.append(Particle(self.x, self.y, self.color)) def update(self): self.velocity += self.gravity self.y += self.velocity self.lifespan -= 1 for particle in self.particles: particle.update() def draw(self): for particle in self.particles: particle.draw() # 定义粒子类 class Particle: def __init__(self, x, y, color): self.x = x self.y = y self.color = color self.gravity = 0.1 self.lifespan = 100 self.velocity = (random.uniform(-1, 1), random.uniform(-1, 1)) def update(self): self.velocity = (self.velocity[0], self.velocity[1] + self.gravity) self.x += self.velocity[0] self.y += self.velocity[1] self.lifespan -= 1 def draw(self): pygame.draw.circle(screen, self.color, (int(self.x), int(self.y)), 2) # 定义烟花列表 fireworks = [] # 游戏循环 running = True while running: # 处理事件 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 填充背景色 screen.fill(BLACK) # 更新和绘制烟花 for firework in fireworks: firework.update() firework.draw() if firework.lifespan <= 0: fireworks.remove(firework) # 添加新的烟花 if random.randint(0, 100) < 5: fireworks.append(Firework(random.randint(0, 800), 600)) # 刷新屏幕 pygame.display.flip() # 退出pygame pygame.quit() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值