[PYTHON] Extrayez le nom du produit et le prix de la liste de produits dans l'e-mail de déclaration d'achat de Yodobashi.com.

Comme le titre l'indique, j'ai écrit un programme en Python pour obtenir la combinaison du nom du produit et du prix dans l'e-mail des détails d'achat de Yodobashi.com. J'espère que vous pourrez réfléchir à la façon d'utiliser l'outil d'historique du presse-papiers et des exemples d'utilisation des modules Python, PyPerclip et des fonctions zip.

Si vous n'avez pas besoin d'explication, veuillez cliquer ici.

Motivation, etc.

J'utilise Zaim pour créer un livre de comptes de ménage. En plus de prendre un reçu et d'enregistrer les détails, c'est pratique car vous pouvez enregistrer automatiquement les informations d'achat sur certains sites tels qu'Amazon.

Cependant, ce Zaim, malheureusement, ne prend pas en charge la coopération avec Yodobashi.com. Pour cette raison, j'utilisais beaucoup Yodobashi.com et j'avais du mal à enregistrer mon historique d'achat à chaque fois.

Par conséquent, j'ai décidé de lire les détails du produit écrits dans l'e-mail "Yodobashi.com: Merci pour votre commande" que vous avez reçu lorsque vous avez acheté le produit sur Yodobashi.com et d'extraire le nom et le prix du produit avec Python. ..

[Produit commandé]
---------------------------------------------------------------
・ "[Nom du produit(Avec sauts de ligne)]」

Date de livraison souhaitée:[Date et l'heure]

total[Quantité]point[prix]Cercle

・ "[Nom du produit(Avec sauts de ligne)]」

Date de livraison souhaitée:[Date et l'heure]

total[Quantité]point[prix]Cercle
・ ・ ・

・ Frais de livraison: 0 yen

Politique de mise en œuvre pour le moment

Il est pratique d'utiliser la fonction empiler les clips de l'outil d'historique des clips.

La fonction de clip de pile est une fonction que de nombreux outils d'historique de presse-papiers tels que Clipboard-History ont, et c'est une fonction pour coller le texte stocké dans la pile dans l'ordre par opération de copie.

Bien sûr, cela est pratique lorsqu'il est utilisé seul, mais il est assez pratique lorsqu'il est utilisé en combinaison avec un script. Pour cette raison, nous l'utilisons pour stocker les marchandises et les prix dans la pile de clips.

Exemple d'implémentation

Pour le moment, comme ça. Créez une liste de noms de produits et de prix avec des expressions régulières, combinez-les avec la fonction zip et transférez-les dans le presse-papiers. Avant d'exécuter le script, vous devez effectuer les préparatifs suivants.

import re
import pyperclip
import sys
n = []
p = []
text = pyperclip.paste()
for m in re.finditer(r"「([^」]*)」", text, re.MULTILINE):
  n.append(re.sub("\\n\\s*", "", m[1]))
for m in re.finditer("([\\d,]+)\\s*Cercle", text, re.MULTILINE):
  p.append(re.sub("\\n\\s*", "", m[1]))
ret = ""
for a, r in zip(n, p):
  pyperclip.copy(a)
  pyperclip.copy(r)

Utilisez le module pyperclip pour accéder au presse-papiers à partir d'un script Python. Installez-le à l'avance avec pip install pyperclip.

Lorsque vous l'exécutez, les noms et les prix des articles que vous avez achetés seront copiés en alternance dans la pile du presse-papiers, et vous pouvez les coller un par un dans le formulaire de dépenses de Zaim.

La programmation est pratique même pour les non-professionnels

La programmation peut être utilisée dans des domaines qui ne sont pas liés au travail. Simplifiez ou automatisez le travail de routine. Même lors de l'utilisation de services de traitement automatique tels que IFTTT, la gamme de choses qui peuvent être faites par ceux qui ont le sens des connaissances en programmation s'élargira.

Donc, je voudrais dire qu'il est plausible que les personnes qui ne sont pas dans le travail principal ou qui ne prévoient pas faire de telles choses au travail puissent le faire sans perte.

Eh bien, j'espère que ce serait bien s'il y avait un environnement comme un lanceur où vous pourriez facilement créer un tel groupe de scripts et les exécuter facilement.

Recommended Posts

Extrayez le nom du produit et le prix de la liste de produits dans l'e-mail de déclaration d'achat de Yodobashi.com.
Extraire et lister les noms des personnes et des lieux dans le texte
À partir de la page du produit AWS cloud, placez le nom du service AWS sur csv
Changer la liste dans l'instruction for
Extraire tous les n éléments d'un tableau (liste) en Python et Ruby
Extraire uniquement le nom du fichier à l'exclusion du répertoire dans le répertoire
J'ai comparé la vitesse de la référence du python dans la liste et la référence de l'inclusion du dictionnaire faite à partir de la liste dans.
Extraire chaque emplacement de Stargazers dans le référentiel Github
En Python, les éléments de la liste sont triés et sortis sous forme d'éléments et de multiples.
Prédire le sexe à partir du nom à l'aide de l'API Gender et de Pykakasi en Python
Obtenez le nom du produit et le prix le plus bas à l'aide de l'API Amazon Product Advertising
Extraire la valeur la plus proche d'une valeur à partir d'un élément de liste en Python