# 1 Les débutants en Python créent des outils d'apprentissage de mots anglais simples

Déclencheur

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

Aperçu

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.

la mise en oeuvre

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.

Recherche de mot

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

contribution

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.

Traitement principal

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

# 1 Les débutants en Python créent des outils d'apprentissage de mots anglais simples
Flux d'apprentissage pour les débutants en Python
Les débutants de Django créent des applications simples 4
Résumé de l'apprentissage automatique par les débutants de Python
<Pour les débutants> bibliothèque python <Pour l'apprentissage automatique>
[Python] Japonais simple ⇒ J'ai essayé de créer un outil de traduction en anglais
Apprentissage automatique avec python (2) Analyse de régression simple
apprentissage de python
Créez une application de mots anglais avec python
Un débutant en apprentissage automatique a essayé de créer un modèle de prédiction de courses de chevaux avec python
Outil de vérification orthographique du mot anglais (fabriqué par python)
Comment rendre le Python des débutants plus rapide [numpy]
python. Les débutants en programmation peuvent-ils faire des choses au hasard? Partie 2
python. Les débutants en programmation peuvent-ils faire des choses au hasard? Partie ①
[Python] Note d'apprentissage 1
Notes d'apprentissage Python
sortie d'apprentissage python
Site d'apprentissage Python
Apprentissage Python jour 4
Apprentissage en profondeur Python
apprentissage python (supplément)
Apprentissage profond × Python
Les débutants pratiquent Python
Note du débutant Python
notes d'apprentissage python
[Python] [Word] [python-docx] Analyse simple des données de diff en utilisant python
Créez un Slackbot simple avec un bouton interactif en python
Essayez de créer un jeu simple avec Python 3 et iPhone
Python Scikit-learn Analyse de régression linéaire Analyse de régression simple non linéaire Apprentissage automatique
Les débutants en apprentissage automatique essaient de créer un arbre de décision
Qu'est-ce que Dieu? Créez un chatbot simple avec python