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. .. ..
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.
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.
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.
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.
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