Scraping mit Python + Selen, um überholte Apple-Produkte in Ihren Warenkorb zu legen und per Zeile zu benachrichtigen

Einführung

Zertifiziertes überholtes Produkt kann eine der Optionen für den Kauf eines Mac usw. zu einem niedrigeren Preis als dem Listenpreis sein. Sie können ein Produkt kaufen, das wie neu aussieht, zu einem Preis von ca. 15%. Wenn es sich jedoch um ein beliebtes Produkt handelt, ist es schnell ausverkauft. Um eine Gelegenheit nicht zu verpassen, haben wir die Programmierung implementiert, um das gewünschte Produkt durch Programmierung zu suchen, es in den Warenkorb zu legen und es per Zeile zu benachrichtigen.

Tatsächlicher Code

Körper

Greifen Sie auf die Zielseite zu → Springen Sie zu der URL mit der angegebenen Zeichenfolge → Anmeldevorgang → In den Warenkorb → Benachrichtigen über Zeile → Produktnamen speichern. Es gibt viele Erklärungen zu Selen, daher werde ich sie in diesem Artikel weglassen. Selenium Ersetzen Sie * hoge * durch das tatsächliche Zeichen.

AppleUsedSearch.py


from selenium import webdriver
from selenium.webdriver.common.by import By
from line_notify_bot import LINENotifyBot

bot = LINENotifyBot(access_token='hoge')

options = webdriver.ChromeOptions()

options.add_argument('--headless')
driver = webdriver.Chrome(options=options) 

driver.get('https://www.apple.com/jp/shop/refurbished/mac/2019') 

r = driver.find_elements_by_class_name('as-producttile-tilelink')
len = len(r)
list =[]
for i in range(len):
    r = driver.find_elements_by_class_name('as-producttile-tilelink')[i].get_attribute('data-display-name')
    list.append(r)
    if "15.4-Zoll-MacBook Pro 2.2GHz" in r and "Raum grau" in r:
        detail = driver.find_elements_by_class_name('as-producttile-tilelink')[i].get_attribute("href")
        driver.get(detail)
        if driver.find_elements_by_class_name('ac-gn-bagview-nav-link ac-gn-bagview-nav-link-signIn'):
            login = driver.find_element_by_class_name('ac-gn-bagview-nav-link ac-gn-bagview-nav-link-signIn').get_attribute("href")
            driver.get('login')
            driver.find_element_by_id("loginHome.customerLogin.appleId-label").send_keys("[email protected]")
            driver.find_element_by_id("loginHome.customerLogin.password-label").send_keys("hogehogehoge")
            driver.find_element_by_id("signin-button-submit").click()
        driver.find_element_by_name("add-to-cart").click()
        bot.send(
            message='Auf Lager'+r
        )
        driver.get('https://www.apple.com/jp/shop/refurbished/mac/2019') 
driver.quit()

print(list)
import pandas as pd
df = pd.Series(list)
df.to_csv("Item.csv", encoding='utf_8_sig')

Leitungsbenachrichtigung

Mein Vorfahr hat einen wunderbaren Code geschrieben, also habe ich ihn benutzt, während ich Angst hatte. Senden Sie eine Nachricht mit Python an LINE

line_notify_bot.py


import requests

class LINENotifyBot:
    API_URL = 'https://notify-api.line.me/api/notify'
    def __init__(self, access_token):
        self.__headers = {'Authorization': 'Bearer ' + access_token}

    def send(
            self, message,
            image=None, sticker_package_id=None, sticker_id=None,
            ):
        payload = {
            'message': message,
            'stickerPackageId': sticker_package_id,
            'stickerId': sticker_id,
            }
        files = {}
        if image != None:
            files = {'imageFile': open(image, 'rb')}
        r = requests.post(
            LINENotifyBot.API_URL,
            headers=self.__headers,
            data=payload,
            files=files,
            )

Zusammenfassung

Als ersten Beitrag des Nebenprojekts schrieb ich, dass ich etwas über das Schaben gelernt habe, das mich interessiert. Wir werden daran arbeiten, die Punkte zu korrigieren, die nicht regelmäßig ausgeführt werden können, und die Punkte, an denen der Zugangscode direkt geschrieben wird. Wir werden jeden Tag codieren und Informationen versenden.

Recommended Posts

Scraping mit Python + Selen, um überholte Apple-Produkte in Ihren Warenkorb zu legen und per Zeile zu benachrichtigen
Automatisieren Sie Chrome mit Python und Selen auf Ihrem Chromebook
Scraping mit Python, Selen und Chromedriver
Üben des Web-Scrapings mit Python und Selen
Senden Sie eine Nachricht mit Python an LINE (LINE Notify)
Schaben mit Selen [Python]
Installieren Sie Selenium auf Ihrem Mac und probieren Sie es mit Python aus
Automatisches Folgen auf Twitter mit Python und Selen! (RPA)
Schaben mit Selen in Python
Schaben mit Selen + Python Teil 1
Scraping mit Selen in Python
IME On / Off wird in Zusammenarbeit mit Python und Arduino durch LED angezeigt
Python 3.6 unter Windows ... und zu Xamarin.
Scraping mit Node, Ruby und Python
Scraping mit Selen in Python (Basic)
Kratzen mit Python und schöner Suppe
Selen und Python zum Öffnen von Google
Installieren Sie Chrome in der Befehlszeile von Sakura VPS (Ubuntu) und starten Sie Chrome mit Python über das virtuelle Display und Selen
Verwenden Sie AWS Lambda, um Nachrichten zu kratzen und LINE regelmäßig über Updates zu informieren [Python]
Setzen Sie Cabocha 0.68 in Windows ein und versuchen Sie, die Abhängigkeit mit Python zu analysieren
[Yahoo! Weather Replacement Version] So erhalten Sie Wetterinformationen mit LINE Notify + Python
Stellen Sie mit Ihrem Smartphone eine Verbindung zum VPN her und schalten Sie den Server aus / ein
Fügen Sie auf beiden Seiten ein Konfidenzintervall von 95% hinzu, um mit Python / Matplotlib zu rechnen
Wie zeichnet man eine vertikale Linie auf einer Heatmap, die mit Python Seaborn gezeichnet wurde?
Fraktal zum Erstellen und Spielen mit Python
Ein Memo mit Python2.7 und Python3 in CentOS
[Teil1] Scraping mit Python → Organisieren Sie bis zu CSV!
Fügen Sie Bildern mit Python2.7 Gaußsches Rauschen hinzu
Einfaches Web-Scraping mit Python und Ruby
Ich habe versucht, einen periodischen Prozess mit CentOS7, Selenium, Python und Chrome durchzuführen
WEB Scraping mit Python und versuchen, aus Bewertungen eine Wortwolke zu machen
Möchten Sie Python-Dekoratoren Typhinweise hinzufügen?
MessagePack-Versuchen Sie, Java und Python mit RPC zu verbinden
Ich habe versucht, Web-Scraping mit Python und Selen
Strategie zur Monetarisierung mit Python Java
Versuchen Sie, Google Chrome mit Python und Selenium auszuführen
Installieren Sie OpenCV 4.0 und Python 3.7 unter Windows 10 mit Anaconda
Melden Sie sich mit Selenium Python bei Yahoo Business an
Ziehen Sie eine lokale Datei mit Selenium (Python) per Drag & Drop.
Einführung in Python mit Atom (unterwegs)
Fehler und Abschluss der Ausführung durch LINE [Python] benachrichtigen
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Ich habe versucht, das Artikel-Update des Livedoor-Blogs mit Python und Selen zu automatisieren.
Python> Implementierung, die 3 Dateien mit variablen Spalten synthetisiert und 3 Elemente in jeder Zeile ausgibt
Ich habe mit Python verschiedene Dinge ausprobiert: Schaben (Beautiful Soup + Selenium + PhantomJS) und morphologische Analyse