[PYTHON] Extrahieren Sie den Produktnamen und den Preis aus der Produktliste in der E-Mail mit der Kaufabrechnung von Yodobashi.com.

Wie der Titel schon sagt, habe ich ein Programm in Python geschrieben, um die Kombination aus Produktname und Preis aus der Kaufdetail-E-Mail von Yodobashi.com zu erhalten. Ich hoffe, Sie können sich überlegen, wie Sie das Zwischenablage-Verlaufstool verwenden und Beispiele für die Verwendung von Python-Modulen, PyPerclip- und Zip-Funktionen.

Wenn Sie keine Erklärung benötigen, klicken Sie bitte hier.

Motivation etc.

Ich benutze Zaim, um ein Haushaltsbuch zu erstellen. Neben der Annahme einer Quittung und der Registrierung von Details ist dies praktisch, da Sie Kaufinformationen auf einigen Websites wie Amazon automatisch registrieren können.

Dieser Zaim unterstützt jedoch leider nicht die Zusammenarbeit mit Yodobashi.com. Aus diesem Grund habe ich Yodobashi.com häufig verwendet und es war jedes Mal schwierig, meine Einkaufsgeschichte zu registrieren.

Aus diesem Grund habe ich mich entschlossen, die Produktdetails in der E-Mail "Yodobashi.com: Vielen Dank für Ihre Bestellung" zu lesen, die Sie beim Kauf des Produkts bei Yodobashi.com erhalten haben, und den Produktnamen und den Preis mit Python zu extrahieren. ..

[Bestelltes Produkt]
---------------------------------------------------------------
・ "[Produktname(Mit Zeilenumbrüchen)]」

Gewünschtes Lieferdatum:[Datum (und Uhrzeit]

gesamt[Menge]Punkt[Preis]Kreis

・ "[Produktname(Mit Zeilenumbrüchen)]」

Gewünschtes Lieferdatum:[Datum (und Uhrzeit]

gesamt[Menge]Punkt[Preis]Kreis
・ ・ ・

・ Liefergebühr: 0 Yen

Implementierungsrichtlinie vorerst

Es ist praktisch, die Stapelclip-Funktion des Clip-Clip-Verlaufstools zu verwenden.

Die Stapel-Clip-Funktion ist eine Funktion, über die viele Tools für den Verlauf der Zwischenablage wie z. B. Zwischenablage-Verlauf verfügen, und sie dient zum Einfügen des im Stapel gespeicherten Texts in der Reihenfolge des Kopiervorgangs.

Dies ist natürlich praktisch, wenn es alleine verwendet wird, aber es ist ziemlich praktisch, wenn es in Kombination mit einem Skript verwendet wird. Aus diesem Grund speichern wir damit Waren und Preise im Clipstapel.

Implementierungsbeispiel

Vorerst so. Erstellen Sie eine Liste mit Produkt- und Preisnamen mit regulären Ausdrücken, kombinieren Sie sie mit der Funktion "zip" und übertragen Sie sie in die Zwischenablage. Bevor Sie das Skript ausführen, müssen Sie die folgenden Vorbereitungen treffen.

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*Kreis", 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)

Verwenden Sie das Modul "pyperclip", um über ein Python-Skript auf die Zwischenablage zuzugreifen. Installieren Sie es im Voraus mit pip install pyperclip.

Wenn Sie es ausführen, werden die Namen und Preise der von Ihnen gekauften Artikel abwechselnd in den Zwischenablage-Stapel kopiert, und Sie können sie nacheinander in das Ausgabenformular von Zaim einfügen.

Die Programmierung ist auch für Laien praktisch

Die Programmierung kann in Feldern verwendet werden, die nicht mit der Arbeit zusammenhängen. Routinearbeiten vereinfachen oder automatisieren. Selbst wenn automatische Verarbeitungsdienste wie IFTTT verwendet werden, wird das Spektrum der Dinge, die von Personen mit Programmierkenntnissen ausgeführt werden können, erweitert.

Daher möchte ich sagen, dass es plausibel ist, dass Menschen, die nicht im Hauptberuf sind oder nicht vorhaben, solche Dinge bei der Arbeit zu tun, dies ohne Verlust tun können.

Hoffentlich wäre es schön, wenn es eine Umgebung wie einen Launcher gäbe, in der Sie problemlos eine solche Gruppe von Skripten erstellen und problemlos ausführen könnten.

Recommended Posts

Extrahieren Sie den Produktnamen und den Preis aus der Produktliste in der E-Mail mit der Kaufabrechnung von Yodobashi.com.
Extrahieren und listen Sie die Namen von Personen und Orten im Text auf
Geben Sie auf der AWS Cloud-Produktseite den Namen des AWS-Dienstes in csv ein
Ändern Sie die Liste in der for-Anweisung
Extrahieren Sie alle n Elemente aus einem Array (einer Liste) in Python und Ruby
Extrahieren Sie nur den Dateinamen mit Ausnahme des Verzeichnisses im Verzeichnis
Ich habe die Geschwindigkeit der Referenz des Pythons in der Liste und die Referenz der Wörterbucheinbeziehung aus der In-Liste verglichen.
Extrahieren Sie jeden Standort aus Stargazers im Github-Repository
In Python werden die Elemente in der Liste sortiert und als Elemente und Vielfache ausgegeben.
Prognostizieren Sie das Geschlecht anhand des Namens mithilfe der Gender-API und von Pykakasi in Python
Holen Sie sich den Produktnamen und den niedrigsten Preis mit der Amazon Product Advertising API
Extrahieren Sie den Wert, der einem Wert am nächsten kommt, aus einem Listenelement in Python