Python-Anfänger Nr. 1 stellen einfache Tools zum Lernen von englischen Wörtern her

Auslösen

Hallo. Ich habe als Student der Freien Künste angefangen, selbst zu programmieren, aber ich weiß nicht, wie viele Minuten. Selbst wenn Sie verstehen, wie es funktioniert, verstehen andere nicht, wie es effizienter funktioniert oder was als allgemeine Projektentwicklung bezeichnet wird. In diesem Sinne möchte ich ein kritisiertes und kindisches Programm veröffentlichen. Es ist auch mein eigenes Wachstumstagebuch. Ich werde es lesen, wenn ich eines Tages ein Enkelkind habe. Der Grund, warum ich das Englischprogramm eingerichtet habe, war meine Erfahrung während des Studiums im Ausland. Während meines Studiums im Ausland habe ich einen Film mit Untertiteln gesehen, und obwohl es anscheinend keine Maschine für Gespräche gibt, gab es viele englische Wörter, die ich als Wissen aufnehmen wollte. Anfangs habe ich sie in ein Notizbuch geschrieben, aber es war viel Arbeit und es hat lange gedauert. Da ich an einer örtlichen Universität Unterricht genommen habe, gibt es viele Aufgaben. Ich denke, es wäre besser, ein Programm einzurichten, mit dem Sie Wörter, die Sie nicht verstehen, sofort eingeben und in einem leicht lesbaren Zustand zusammenstellen können. ?? Deshalb habe ich mein gewohntes Studium verlassen und angefangen, an Python zu arbeiten. .. ..

Überblick

Ich habe zuerst in Paiza studiert. Schwach umsonst. Also lasst uns die Grundlagen lernen und es vorerst machen! Es ist wie es ist. Was den Fluss betrifft, Worteingabe → Seitenanzeige der entsprechenden englischen Wörter → Bedeutung extrahieren → ausspucken Es wäre gut, wenn wir es realisieren würden.

Implementierung

Was Sie brauchen, um diese Zeit vorzubereiten

qiita.py


import requests
from bs4 import BeautifulSoup as bs4
import datetime
import csv

Geben Sie dann ein Wort ein, das Sie nicht verstehen, oder speichern Sie die Bedeutung dieses Wortes in einer Liste.

qiita.py


unknown = []
result= []
path_w ='\Unknown_words_'+str(datetime.date.today())+'.csv'
#Erstellen einer Funktion zum Verarbeiten von CSV
def OpenCSV():
    with open(path_w, mode='x') as new:
        try:
            new.write('\n')
            new.close()
            
        except FileExistsError:
            with open(path_w, mode='a') as writeon:
                writeon.write()
                writeon.close()

Setzen Sie das eingegebene Wort in unbekannt und die extrahierte Bedeutung in Ergebnis. Ich werde auch einen sicheren Zielpfad erstellen. Die Handhabung des CSV-Moduls ist wirklich Nachahmung, ich weiß nicht viel. Wenn open mode = 'x', habe ich auch mode = 'a' als Ausnahmebehandlung geschrieben, wenn bereits eine neue Datei mit demselben Namen vorhanden ist.

Informationen zum Modus der OPEN-Funktion finden Sie unter hier.

Wortsuche

Geben Sie die Wortsuche des Hauptthemas ein. Dieses Mal werden wir Weblio als englisches Wörterbuch verwenden. Der Grund ist, dass die zu öffnende URL lautet

qiita.py



'https://ejje.weblio.jp/content/'+Worte, die ich nicht verstehe

Weil es einfach zu handhaben war. Der Inhalt ist leicht zu verstehen und zwei Fliegen mit einer Klappe.

qiita.py


#Erstellen Sie eine Wortsuchfunktion
def SearchWords(uw):
    try:
        line = 'https://ejje.weblio.jp/content/'+ uw
        res = requests.get(line)
        res.encoding = res.apparent_encoding
        bs = bs4(res.content,'html.parser')
        global meaning_a
        meaning_a = bs.find( class_='content-explanation ej').text
    except AttributeError:
#Wenn es nicht vorhanden ist, wird AttributeError zurückgegeben. Geben Sie daher die Ausnahmebehandlung ein.
        meaning_a = 'Konnte nicht gefunden werden.'
        pass

Das Argument ist uw, eine Abkürzung für Unknown Words. Es gibt nichts Besonderes zu erwähnen, aber in weblio wird die Bedeutung in einer Klasse namens "content-erklärung ej" gespeichert. Konvertieren wir sie also in das Textformat mit .text. Wenn das Argument zu diesem Zeitpunkt einen Rechtschreibfehler oder ein nicht vorhandenes englisches Wort enthält, wird AttributeError zurückgegeben. Daher wird beschrieben, dass es zu diesem Zeitpunkt nicht gefunden und übersprungen wurde.

Eingang

python


while True:
    wrd = input('Type your unknown words (If you submit Enter, it finishes.)\n')
#Wenn es so bleibt, wie es ist, wird es bei der Eingabe eine Endlosschleife durchlaufen. Machen Sie also eine Chance, zu brechen
    if wrd == "":
        break
    else:
        unknown.append(wrd)

Ich wusste nicht, wie ich es sauber beenden soll. Wenn es gesendet wird, versuche ich, den Speicher der unbekannten Liste dort zu unterbrechen.

Hauptverarbeitung

python


#Passen Sie nach der Eingabe nacheinander aus der gespeicherten Liste in die Funktion ein und erstellen Sie ein Wörterbuch
for i in range(len(unknown)):
    result_tmp = []
    obj = unknown[i]
    result_tmp.append(obj)
    SearchWords(obj)
    result_tmp.append(meaning_a)
    print(result_tmp)
    result.append(result_tmp)

Fügen Sie vorerst vorübergehend [Wort, Bedeutung] in die Liste result_tmp ein. Dann setzen Sie es in Form einer zweidimensionalen Liste (was ist das? Es ist Analphabet ...).

csv

python


with open(path_w,'a') as csv_w:
    writer = csv.writer(csv_w)
    writer.writerows(result)

Lass es in CSV fallen und du bist fertig. Da die CSV-Datei von Excel gelesen werden kann, halte ich dies für das Minimum.

Ich möchte Pandas verwenden, um Excel noch schöner zu machen. Ich werde am Ende einen schmutzigen Code posten, also werde ich darauf verweisen, wenn es Verbesserungen gibt, also hinterlasse bitte einen Kommentar!

import requests
from bs4 import BeautifulSoup as bs4
import datetime
import csv
# import pandas as pd

#Erstellen Sie einen Speicherort.
unknown = []
result= []
path_w ='Wo Sie speichern möchten/Unknown_words_'+str(datetime.date.today())+'.csv'
def OpenCSV():
    with open(path_w, mode='x') as new:
        try:
            new.write('\n')
            new.close()
            
        except FileExistsError:
            with open(path_w, mode='a') as writeon:
                writeon.write()
                writeon.close()

#Erstellen Sie eine Wortsuchfunktion
def SearchWords(uw):
    try:
        line = 'https://ejje.weblio.jp/content/'+ uw
        res = requests.get(line)
        res.encoding = res.apparent_encoding
        bs = bs4(res.content,'html.parser')
        global meaning_a
        meaning_a = bs.find( class_='content-explanation ej').text
    except AttributeError:
#Wenn es nicht vorhanden ist, wird AttributeError zurückgegeben. Geben Sie daher die Ausnahmebehandlung ein.
        meaning_a = 'Konnte nicht gefunden werden.'
        pass


#Lass mich eintreten
while True:
    wrd = input('Type your unknown words (If you submit Enter, it finishes.)\n')
#Wenn es so bleibt, wie es ist, wird es bei der Eingabe eine Endlosschleife durchlaufen. Machen Sie also eine Chance, zu brechen
    if wrd == "":
        break
    else:
        unknown.append(wrd)

#Passen Sie nach der Eingabe nacheinander aus der gespeicherten Liste in die Funktion ein und erstellen Sie ein Wörterbuch
for i in range(len(unknown)):
    result_tmp = []
    obj = unknown[i]
    result_tmp.append(obj)
    SearchWords(obj)
    result_tmp.append(meaning_a)
    print(result_tmp)
    result.append(result_tmp)

#Konvertieren Sie in eine CSV-Datei und machen Sie sie in Excel usw. verwendbar.
with open(path_w,'a') as csv_w:
    writer = csv.writer(csv_w)
    writer.writerows(result)

Danke fürs Lesen! Ich werde weiterhin mein Bestes geben.

Recommended Posts

Python-Anfänger Nr. 1 stellen einfache Tools zum Lernen von englischen Wörtern her
Lernablauf für Python-Anfänger
Django-Anfänger erstellen einfache Apps 4
Zusammenfassung des maschinellen Lernens von Python-Anfängern
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>
[Python] Einfaches Japanisch ⇒ Ich habe versucht, ein englisches Übersetzungswerkzeug zu erstellen
Maschinelles Lernen mit Python (2) Einfache Regressionsanalyse
Python lernen
Erstellen Sie eine englische Wort-App mit Python
Ein Anfänger des maschinellen Lernens versuchte, mit Python ein Vorhersagemodell für Pferderennen zu erstellen
Englisch Wort Rechtschreibprüfung Tool (von Python gemacht)
Wie man Python für Anfänger schneller macht [numpy]
Python. Können Programmieranfänger Dinge zufällig machen? Teil 2
Python. Können Programmieranfänger Dinge zufällig machen? Teil ①
[Python] Lernnotiz 1
Python-Lernnotizen
Python-Lernausgabe
Python-Lernseite
Python-Lerntag 4
Python Deep Learning
Python-Lernen (Ergänzung)
Deep Learning × Python
Anfänger üben Python
Python-Anfängernotiz
Python-Lernnotizen
[Python] [Word] [python-docx] Einfache Analyse von Diff-Daten mit Python
Erstellen Sie einen einfachen Slackbot mit einer interaktiven Schaltfläche in Python
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Python Scikit-learn Lineare Regressionsanalyse Nichtlineare einfache Regressionsanalyse Maschinelles Lernen
Anfänger des maschinellen Lernens versuchen, einen Entscheidungsbaum zu erstellen
Was ist Gott? Erstelle einen einfachen Chatbot mit Python