--Schaben des eingegebenen Wortes von der Übersetzungsseite und Anzeigen des Übersetzungsergebnisses
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 |
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()
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