吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2297|回复: 19
上一主题 下一主题
收起左侧

[Python 原创] 英语学习好帮手:双语每日一句下载器2.0

  [复制链接]
跳转到指定楼层
楼主
pythonfun 发表于 2025-8-13 11:20 回帖奖励
一、软件名称:双语每日一句下载器2.0
二、软件功能
本软件是一款便捷的英语学习工具,主要功能包括:
1. 从多个知名英语学习网站(金山词霸、海词、欧路)自动获取每日一句英语学习内容
2. 支持同时获取多个来源的每日一句内容
3. 一键复制获取的句子内容
三、使用方法
运行程序后会出现一个简洁的窗口界面, 通过复选框选择想要获取的句子来源(金山词霸、海词、欧路)
点击"获取句子"按钮,程序会自动从选定的网站抓取每日一句内容,内容会显示在文本框中。点击"复制句子"按钮可以将内容复制到剪贴板。
四、软件截图

五、代码展示
[Python] 纯文本查看 复制代码
from tkinter import Button,END,Text,Checkbutton,Tk,IntVar
from tkinter import messagebox
from tkinter.filedialog import askopenfilename
import requests
from bs4 import BeautifulSoup
import re,pyperclip

class Application():
    def __init__(self, master=None):
        self.master = master
        self.master.wm_attributes('-topmost',1) # 设置窗口前段显示
        self.createWidget()
        self.master.title('每日一句发送器2.0|By pythonfun')      
        self.master.geometry()

    def createWidget(self):
        Font = ("微软雅黑",12,'bold')
        
        #定义复选框     
        self.checkVar1 = IntVar()
        self.checkVar2 = IntVar()
        self.checkVar3 = IntVar()
        self.checkVar1.set(1)
        self.c1 = Checkbutton(self.master, text = "金山词霸", font=("微软雅黑",11), variable = self.checkVar1, onvalue = 1, offvalue = 0, height=1,width = 8) 
        self.c1.grid(row=2,column=0)
        self.c2 = Checkbutton(self.master, text = "海词", font=("微软雅黑",11), variable = self.checkVar2, onvalue = 1, offvalue = 0, height=1,width = 8) 
        self.c2.grid(row=2,column=1)
        self.c3 = Checkbutton(self.master, text = "欧路", font=("微软雅黑",11), variable = self.checkVar3, onvalue = 1, offvalue = 0, height=1,width = 8) 
        self.c3.grid(row=2,column=2)

        # 设置搜索框
        self.t_read = Text(self.master,width=50,height=10,font=("微软雅黑",12))
        self.t_read.grid(row=3,column=0,columnspan=4,padx=5)
        
        self.b1 = Button(self.master,text="获取句子",width=8,height=1,font=("微软雅黑",12),command=self.send_message)
        self.b1.grid(row=2,column=5)
        
        self.b2 = Button(self.master,text="复制句子",width=8,height=1,font=("微软雅黑",12),command=self.copy_text)
        self.b2.grid(row=3,column=5)
    
    def get_txt(self,filepath):
        ls=[]
        try:
            with open(filepath,"r",encoding="utf-8") as f:
                ls=[line.strip() for line in f.readlines() if line.strip()!=""]
        except Exception as exc:
            messagebox.showwarning('Warning', f'{exc}')
        return ls

    def jinshan(self):
        url = 'http://open.iciba.com/dsapi/'
        res = requests.get(url)
        content = res.json()['content'] + res.json()['note']
        return content
    def haici(self):
        url2=r"http://dict.cn"
        resp = requests.get(url2)
        soup = BeautifulSoup(resp.text,"html.parser")
        htm=soup.find("div",class_="daily_sentence")
        sen=htm.text.strip().split("\t\t\t")[2] #split("\n\t")[2].strip()
        return sen
    
    def oulu(self):
        url = f"https://dict.eudic.net/home/dailysentence/"
        headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'
            }
        resp = requests.get(url,headers = headers)
        quotes = re.search(r'<p class="sect sect_en">(.*)</p>',resp.text) #lst['alt']) <span style=
        quotetrans = re.search(r'<p class="sect-trans">(.*)</p>',resp.text)
        if quotes and quotetrans:
            return quotes.group(1) + quotetrans.group(1)
        else:
            return "Failed to retrieve quotes or translation."
        
    def get_sentence(self):
        self.t_read.delete("1.0", "end")
        msg = "每日一句:"
        sources = [
            (self.checkVar1, self.jinshan),
            (self.checkVar2, self.haici),
            (self.checkVar3, self.oulu),
        ]

        sentences = []
        for check_var, source_func in sources:
            if check_var.get() == 1:
                sentences.append(source_func())

        if sentences:
            msg += "\n".join(sentences) + "\n"
        else:
            messagebox.showwarning("错误信息", "请选中金山词霸或者海词或insight")

        return msg
    def send_message(self):
        msgs=self.get_sentence()
        for m in msgs:
            self.t_read.insert('insert',m)
    def copy_text(self):
        pyperclip.copy(self.t_read.get("1.0",END))
    
    def translate_txt(self,txt):
        # 定义请求的 URL 和数据
        url = 'https://fanyi.so.com/index/search'
        data = {'eng': '1', 'validate': '', 'ignore_trans': '0', 'query': txt}
        # 伪装
        headers = {
            'useragent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36 Edg/128.0.0.0',
            'pro': 'fanyi'
        }
        # 发送 POST 请求并获取响应
        response = requests.post(url=url, headers=headers, data=data).json()
        # 提取翻译文本
        translated_text = response['data']['fanyi']
        return translated_text
if __name__ == '__main__':
    root = Tk()
    app = Application(master=root)
    root.mainloop()


六、源码下载:
每日一句源码.zip (4.21 KB, 下载次数: 69)

免费评分

参与人数 8吾爱币 +12 热心值 +7 收起 理由
gblier + 1 我很赞同!
笑山坡 + 1 + 1 用心讨论,共获提升!
vethenc + 1 + 1 谢谢@Thanks!
NessunDorma + 1 谢谢@Thanks!
kbs0815 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
colaya + 1 + 1 用心讨论,共获提升!
rkd5rkd + 1 我很赞同!
hrh123 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
火蜥蜴 发表于 2025-8-13 11:40
支持一下,为原创点赞
3#
rkd5rkd 发表于 2025-8-13 11:53
4#
yedada1314 发表于 2025-8-13 12:01
5#
zjzjb222 发表于 2025-8-13 12:23
收藏了,谢谢
6#
jian19950220 发表于 2025-8-13 13:09
建议可以改成日常对话 会容易记住
7#
lilof 发表于 2025-8-13 13:14
收藏,感谢!
8#
1zpeasy 发表于 2025-8-13 14:05
支持原创,看起来不错,可以考虑尝试一下。
9#
halking 发表于 2025-8-13 14:16
老大,程序在哪,下载的源码不会用。
10#
squirrel1311 发表于 2025-8-13 14:50
截图里面第三句有个乱码,是什么情况 &#x27;
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-4-13 02:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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