Créez une application de mots anglais avec python

spécification

Bibliothèque

Les bibliothèques utilisées sont les suivantes.

Bibliothèque Utilisation
os Vérifiez le chemin
requests Obtenez html, téléchargez mp3
bs4 analyse html
tkinter Créer une interface graphique
pygame Jouer Mp3
random Gestion des exceptions

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): #Grattage
        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): #Télécharger et lire des mp3
        mp3_directory_path = 'd:/python/Application/mp3/' #Destination du 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): #Supprimer tous les caractères dans le champ de saisie avec la touche espace
        self.text_box.delete(0, tkinter.END)


Translation()

Résultat d'exécution

result1.PNG

result2.PNG

Impressions

J'ai réussi à le mettre en forme. L'article Qiita rédigé par une autre personne a été très utile. Après cela, si vous créez un fichier chauve-souris sur votre bureau, vous pouvez facilement le lancer. Vous pouvez également créer un test d'écoute de mots à partir du fichier mp3 téléchargé.

Recommended Posts

Créez une application de mots anglais avec python
Créez une application qui devine les étudiants avec Python
Créez rapidement un fichier Excel avec Python #python
Créer un compteur de fréquence de mots avec Python 3.4
[Python] Créez rapidement une API avec Flask
Créez une application de composition d'images avec Flask + Pillow
Créer une image avec des caractères avec python (japonais)
Créez rapidement un serveur API avec Python + Falcon
Créer un serveur local GIF animé avec Python + Flask
Créer un environnement avec virtualenv
Créer une API avec Django
Créer un gif 3D avec python3
Créer un œuf avec python
Créez une application qui devine les étudiants avec la version python-GUI
Créer un répertoire avec python
Créez des jeux LCD (16x2) avec Raspberry Pi et Python
Créons une application qui authentifie OIDC avec Azure AD
Comment exécuter une application construite avec Python + py2app construite avec Anaconda
Créer une application Todo avec Django ① Créer un environnement avec Docker
[Python Kivy] Comment créer un fichier exe avec pyinstaller
Découpez une image avec python
Créer une animation de tracé avec Python + Matplotlib
Créez un environnement virtuel avec Python!
Créez une tranche d'âge avec les pandas
Dessinez une illustration avec Python + OpenCV
[Python] Envoyez des e-mails avec Outlook
Créez une application de gestion automatique des notes pour Tenho Private Room avec le bot LINE et Python Partie 1
Créez une application de gestion automatique des notes pour la salle privée Tenho avec le bot LINE et la partie Python ③
Créer une application en classifiant avec Pygame
[Python] Création d'un environnement avec Anaconda [Mac]
Créer un décorateur de fonction Python avec Class
Créez automatiquement la documentation de l'API Python avec Sphinx
Créer une application de fractionnement d'image avec Tkinter
Créez wordcloud à partir de votre tweet avec python3
Créer une visionneuse de traitement d'image avec PySimpleGUI
Créez une image factice avec Python + PIL.
Uncle SES modernise l'application VBA avec Python
Remarques lors de la création d'un environnement avec python
Créer une application GUI simple en Python
[Python] Créez un environnement virtuel avec Anaconda
Créons un groupe gratuit avec Python
Écran partagé avec l'application python exe
Démonisez une application Web Python avec Supervisor
Créer un environnement Python + uWSGI + Nginx avec Docker
Créer et décrypter du code César avec python
3. Traitement du langage naturel par Python 1-1. Word N-gram
Créer un écran de mise à jour avec Django Updateview
Créez diverses vidéos Photoshop avec Python + OpenCV ③ Créez diverses vidéos Photoshop
Créez une application Web simple avec Flask
Application Web facile avec Python + Flask + Heroku
Créer un fichier Excel avec Python + matrice de similarité
Création de la première application avec Django startproject
Scraping depuis un site authentifié avec python
Générer une instance Excel compatible avec les compléments avec xlwings
Text mining avec Python ② Visualisation avec Word Cloud
[Automation] Lire des documents Word avec Python
Envoyer un e-mail avec Amazon SES + Python