Erstellen Sie eine englische Wort-App mit Python

Spezifikation

--Schaben des eingegebenen Wortes von der Übersetzungsseite und Anzeigen des Übersetzungsergebnisses

Bibliothek

Die verwendeten Bibliotheken sind wie folgt.

Bibliothek Verwenden
os Überprüfen Sie den Pfad
requests Holen Sie sich HTML, laden Sie MP3
bs4 HTML-Analyse
tkinter Erstellen einer GUI
pygame MP3 abspielen
random Ausnahmebehandlung

Code

import os
import random
import tkinter
import requests
from bs4 import BeautifulSoup
from pygame import mixer


class Translation:
    def __init__(self):
        self.root = tkinter.Tk()
        self.root.title('Translation')
        self.root.geometry('500x200')
        self.root.attributes('-topmost', True)
        self.text_box = tkinter.Entry(width=20, font=('', 20), justify='center')
        self.text_box.focus_set()
        self.text_box.pack()
        self.root.bind('<Return>', self.scraping)
        self.root.bind('<space>', self.delete)
        self.answer = tkinter.Message(self.root, text='', font=('', 20), width=450)
        self.answer.pack(anchor='center', expand=1)
        self.root.mainloop()
    
    def scraping(self, event): #Schaben
        try:
            res = requests.get('https://ejje.weblio.jp/content/' + self.text_box.get())
            soup = BeautifulSoup(res.content, 'html.parser')
            txt = soup.find('td', {'class': 'content-explanation ej'})
            self.answer['text'] = txt.text
            self.sound(soup)
        except:
            self.answer['text'] = random.choice(('(^^;)?', '(・ Ω ・)?', "('Д')?", '(;・`д ・ ´)?'))
    
    def sound(self, soup): #MP3 herunterladen und abspielen
        mp3_directory_path = 'd:/python/Application/mp3/' #Ziel von mp3
        if not os.path.exists(mp3_directory_path):
            os.mkdir(mp3_directory_path)

        if os.path.exists(mp3_directory_path + self.text_box.get() + '.mp3'):
            pass
        else:
            audio = soup.find('audio', {'class': 'contentAudio'})
            src = audio.find('source')['src']
            res = requests.get(src, stream=True)

            with open(mp3_directory_path + self.text_box.get() + '.mp3', 'wb') as f:
                f.write(res.content)

        mixer.init()
        mixer.music.load(mp3_directory_path + self.text_box.get() + '.mp3')
        mixer.music.play()

    def delete(self, event): #Löschen Sie alle Zeichen im Eingabefeld mit der Leertaste
        self.text_box.delete(0, tkinter.END)


Translation()

Ausführungsergebnis

result1.PNG

result2.PNG

Impressionen

Ich habe es geschafft, es in Form zu bringen. Der Qiita-Artikel einer anderen Person war sehr hilfreich. Wenn Sie danach eine Bat-Datei auf Ihrem Desktop erstellen, können Sie sie einfach starten. Möglicherweise können Sie auch einen Worthörtest aus der heruntergeladenen MP3-Datei erstellen.

Recommended Posts

Erstellen Sie eine englische Wort-App mit Python
Erstellen Sie eine App, die Schüler mit Python errät
Erstellen Sie schnell eine Excel-Datei mit Python #python
Erstellen Sie mit Python 3.4 einen Worthäufigkeitszähler
[Python] Erstellen Sie schnell eine API mit Flask
Erstellen Sie eine Bildkompositions-App mit Flask + Pillow
Erstellen Sie ein Bild mit Zeichen mit Python (Japanisch)
Erstellen Sie schnell einen API-Server mit Python + Falcon
Erstellen Sie mit Python + Flask einen animierten lokalen GIF-Server
Erstellen Sie eine Umgebung mit virtualenv
Erstellen Sie eine API mit Django
Erstellen Sie ein 3D-GIF mit Python3
Ein Ei mit Python erstellen
Erstellen Sie eine App, die Schüler mit der Python-GUI-Version errät
Erstellen Sie ein Verzeichnis mit Python
Erstellen Sie LCD-Spiele (16x2) mit Raspberry Pi und Python
Erstellen wir eine App, die OIDC mit Azure AD authentifiziert
So führen Sie eine mit Python + py2app erstellte App aus, die mit Anaconda erstellt wurde
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
[Python Kivy] So erstellen Sie mit pyinstaller eine exe-Datei
Schneiden Sie ein Bild mit Python aus
Erstellen Sie eine Plotanimation mit Python + Matplotlib
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen Sie eine Altersgruppe mit Pandas
Zeichnen Sie eine Illustration mit Python + OpenCV
[Python] Mail mit Outlook senden
Erstellen Sie eine automatische Klassenverwaltungs-App für Tenho Private Room mit LINE Bot und Python Part 1
Erstellen Sie eine automatische Klassenverwaltungs-App für Tenho Private Room mit LINE Bot und Python Part ③
Erstellen Sie eine Anwendung, indem Sie mit Pygame klassifizieren
[Python] Erstellen einer Umgebung mit Anaconda [Mac]
Erstellen Sie mit Class einen Python-Funktionsdekorator
Erstellen Sie automatisch eine Python-API-Dokumentation mit Sphinx
Erstellen einer Bildaufteilungs-App mit Tkinter
Erstellen Sie mit python3 eine Wortwolke aus Ihrem Tweet
Erstellen Sie mit PySimpleGUI einen Bildverarbeitungs-Viewer
Erstellen Sie mit Python + PIL ein Dummy-Image.
Onkel SES modernisiert die VBA-App mit Python
Hinweise beim Erstellen einer Umgebung mit Python
Erstellen Sie eine einfache GUI-App in Python
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Erstellen wir mit Python eine kostenlose Gruppe
Gemeinsamer Bildschirm mit Python Exe App
Dämonisieren Sie eine Python-Webanwendung mit Supervisor
Erstellen Sie mit Docker eine Python + uWSGI + Nginx-Umgebung
Erstellen und entschlüsseln Sie Caesar-Code mit Python
3. Verarbeitung natürlicher Sprache durch Python 1-1. Word N-Gramm
Erstellen Sie mit Django Updateview einen Update-Bildschirm
Erstellen verschiedener Photoshop-Videos mit Python + OpenCV ③ Erstellen Sie verschiedene Photoshop-Videos
Erstellen Sie eine einfache Web-App mit Flasche
Einfache Web-App mit Python + Flask + Heroku
Erstellen Sie eine Excel-Datei mit Python + Ähnlichkeitsmatrix
Erstellen der ersten App mit Django Startprojekt
Scraping von einer authentifizierten Site mit Python
Generieren Sie eine add-in-fähige Excel-Instanz mit xlwings
Text Mining mit Python ② Visualisierung mit Word Cloud
[Automatisierung] Lesen Sie Word-Dokumente mit Python
Senden Sie eine E-Mail mit Amazon SES + Python