Bonjour. J'ai commencé à programmer par moi-même en tant qu'étudiant en arts libéraux, mais je ne sais pas combien de minutes. Même si vous comprenez comment cela fonctionne, d'autres ne comprennent pas comment le faire plus efficacement, ou ce que l'on appelle le développement de projet général. En ce sens, je voudrais publier un programme critiqué et enfantin. C'est aussi mon propre journal de croissance. Je le lirai quand j'aurai un petit-enfant un jour. Et la raison pour laquelle j'ai mis en place le programme de langue anglaise était de mon expérience pendant mes études à l'étranger. Pendant mes études à l'étranger, je regardais un film avec des sous-titres, et bien qu'il semble qu'il n'y ait pas de machine à utiliser dans la conversation, il y avait beaucoup de mots anglais que je voulais inclure comme connaissance. Au départ, je les ai écrites dans un cahier, mais c'était beaucoup de travail et cela a pris beaucoup de temps. Depuis que je suivais des cours dans une université locale, il y a beaucoup de tâches, donc je pense qu'il serait préférable de mettre en place un programme qui vous permettrait de taper des mots que vous ne comprenez pas à la fois et de les rassembler dans un état facile à lire. ?? C'est pourquoi j'ai quitté mon étude habituelle et commencé à travailler sur Python. .. ..
J'ai d'abord étudié à Paiza. Faible gratuitement. Alors apprenons les bases et faisons-le pour le moment! C'est comme ça. Quant au flux, Saisie de mots → Affichage de la page des mots anglais correspondants → Extraire la signification → Cracher Ce serait bien si nous nous en rendions compte.
Ce dont vous avez besoin pour préparer cette fois --requests requis pour la connexion Web --BeautifulSoup pratique pour le traitement des données Web --Datetime car je souhaite introduire la date dans le nom du fichier à enregistrer --Csv car il est traité comme un fichier csv
qiita.py
import requests
from bs4 import BeautifulSoup as bs4
import datetime
import csv
Entrez ensuite un mot que vous ne comprenez pas ou enregistrez la signification de ce mot dans une liste.
qiita.py
unknown = []
result= []
path_w ='\Unknown_words_'+str(datetime.date.today())+'.csv'
#Créer une fonction pour traiter 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()
Mettez le mot entré en inconnu et la signification extraite en résultat. Je vais également créer un chemin de destination de sauvegarde. La manipulation du module csv est vraiment une imitation, je ne sais pas grand chose. Si open mode = 'x', j'ai également écrit mode = 'a' comme traitement d'exception lorsqu'un nouveau fichier avec le même nom existe déjà.
Concernant le mode de la fonction OPEN, veuillez vous référer à here pour plus de détails.
Entrez le mot de recherche du sujet principal. Cette fois, nous utiliserons Weblio comme dictionnaire anglais. La raison en est que l'URL à ouvrir est
qiita.py
'https://ejje.weblio.jp/content/'+Des mots que je ne comprends pas
Parce que c'était facile à gérer. Le contenu est facile à comprendre et deux oiseaux avec une pierre.
qiita.py
#Créer une fonction de recherche de mots
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:
#S'il n'existe pas, AttributeError est renvoyé, entrez donc la gestion des exceptions.
meaning_a = 'Impossible de localiser.'
pass
L'argument est uw, qui est une abréviation de mots inconnus. Il n'y a rien de spécial à mentionner, mais dans weblio la signification est stockée dans une classe appelée "content-explication ej", donc convertissons-la au format texte avec .text. À ce stade, s'il y a une faute d'orthographe ou un mot anglais inexistant dans l'argument, AttributeError sera retourné, il est donc décrit qu'il n'a pas été trouvé à ce moment-là et ignoré.
python
while True:
wrd = input('Type your unknown words (If you submit Enter, it finishes.)\n')
#S'il est laissé tel quel, il bouclera indéfiniment au fur et à mesure qu'il est entré, alors faites une chance de casser
if wrd == "":
break
else:
unknown.append(wrd)
Je ne savais pas comment le terminer proprement, alors quand il est envoyé, j'essaye d'interrompre le stockage de la liste inconnue là-bas.
python
#Après la saisie, insérez-les dans la fonction une par une à partir de la liste stockée et créez un dictionnaire
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)
Pour le moment, insérez temporairement [mot, signifiant] dans la liste appelée result_tmp. Ensuite, mettez-le sous forme de liste à deux dimensions (qu'est-ce que c'est? C'est illettré ...).
csv
python
with open(path_w,'a') as csv_w:
writer = csv.writer(csv_w)
writer.writerows(result)
Déposez-le dans csv et vous avez terminé. Puisque le fichier CSV peut être lu par Excel, je pense que c'est le minimum.
Je veux utiliser Pandas pour rendre Excel encore plus beau. Je posterai un code sale à la fin, donc je vais y faire référence s'il y a des améliorations, alors laissez un commentaire!
import requests
from bs4 import BeautifulSoup as bs4
import datetime
import csv
# import pandas as pd
#Créez un emplacement de stockage.
unknown = []
result= []
path_w ='Où vous voulez économiser/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()
#Créer une fonction de recherche de mots
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:
#S'il n'existe pas, AttributeError est renvoyé, entrez donc la gestion des exceptions.
meaning_a = 'Impossible de localiser.'
pass
#Laisse moi entrer
while True:
wrd = input('Type your unknown words (If you submit Enter, it finishes.)\n')
#S'il est laissé tel quel, il bouclera indéfiniment au fur et à mesure qu'il est entré, alors faites une chance de casser
if wrd == "":
break
else:
unknown.append(wrd)
#Après la saisie, insérez-les dans la fonction une par une à partir de la liste stockée et créez un dictionnaire
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)
#Convertissez en fichier csv et rendez-le utilisable dans Excel, etc.
with open(path_w,'a') as csv_w:
writer = csv.writer(csv_w)
writer.writerows(result)
Merci pour la lecture! Je continuerai à faire de mon mieux.
Recommended Posts