2020/01/11
Ringfit Adventure Ankunftsbot wurde eingefroren und erneuert. Wir freuen uns auf Ihre weitere Unterstützung von Price Arrival Dolphin @ Ringfit Adventure.
Benachrichtigen Sie, wenn Ringfit Adventure zu einem festen Preis bei Amazon ankommt Ringfit Adventure Ankunftsbot Ich machte. Ich werde die Rückseite dieses Bots vorstellen. Wiederverkäufer ausrotten.
Ring Fit Adventure ist sehr beliebt. Es ist seit seiner Veröffentlichung Mangelware. Dieser Mangel ist auf Großeinkäufe zurückzuführen, die von Wiederverkäufern weiterverkauft werden sollen. Tatsächlich gibt es bei Amazon Hunderte von Wiederverkäufen zu Preisen (ca. 12000 Yen), die den Listenpreis (8778 Yen) deutlich übersteigen.
Um zu einem festen Preis zu kaufen, ohne an Wiederverkäufer zu verlieren, ist es notwendig, so bald wie möglich nach der Ankunft vorbeizuschauen. Aus diesem Grund habe ich beschlossen, eine Funktion zu erstellen, um das Eintreffen von Ringanpassungen zu einem festen Preis zu melden. Zuerst habe ich es gemacht, um einen Ring fit zu machen.
Andererseits dachte ich auch, dass es durch die Bereitstellung dieser Funktion möglich sein würde, Wiederverkäufer auszurotten. Es ist schwierig, die Existenz von Wiederverkäufern zu beseitigen. Mit dieser Funktion können Sie jedoch die Situation überwinden, in der Sie bei einem Wiederverkäufer kaufen müssen. Durch die Bereitstellung eines Ortes, an dem allgemeine Käufer auf dem gleichen Boden wie Wiederverkäufer kämpfen können, hielten wir es für unnötig, bei Wiederverkäufern einzukaufen, und dies würde zur Ausrottung von Wiederverkäufern führen.
Weihnachtsmann, der einen Ring passend zu Weihnachtsgeschenken geben möchte. Kinder, die sich einen Neujahrsball schnappen und einen Ring kaufen wollen, passen. Ich kämpfe mit der Kraft der IT.
Wiederverkäufer ausrotten.
Ich werde die Systemkonfiguration erklären, um Wiederverkäufer auszurotten.
Das Bot-Programm läuft auf AWS EC2. EC2 verfügt über ein Python-Skript und eine Crontab-Konfigurationsdatei.
Ich werde den Ablauf erklären, um Wiederverkäufer auszurotten.
Einführung des Quellcodes zur Beseitigung von Wiederverkäufern.
python & selenium & chrome
amazon.py
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import json
import urllib.request
import datetime
import pytz
#URL der Ringfit-Produktseite
url = 'https://www.amazon.co.jp/%E4%BB%BB%E5%A4%A9%E5%A0%82-%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%95%E3%82%A3%E3%83%83%E3%83%88-%E3%82%A2%E3%83%89%E3%83%99%E3%83%B3%E3%83%81%E3%83%A3%E3%83%BC-Switch/dp/B07XV8VSZT/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%95%E3%82%A3%E3%83%83%E3%83%88&qid=1575977457&sr=8-1'
#Starten Sie Chrom aus Selen und rufen Sie die Produktseite für Ring Fit auf
options = webdriver.ChromeOptions()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)
driver.get(url)
#Funktion zum Twittern
def tweet(message):
#Twitter-Account
account = 'ringfit_hoshii'
password = 'hogehoge'
#Selen starten
options = webdriver.ChromeOptions()
options.add_argument('--headless')
driver = webdriver.Chrome(options=options)
driver.set_window_size(height=877, width=1440)
#Anmeldeseite öffnen
driver.get('https://twitter.com/login/')
time.sleep(3) #Aufhören zu arbeiten
#Konto eingeben
element_account = driver.find_element_by_class_name("js-username-field")
element_account.send_keys(account)
#Passwort eingeben
element_pass = driver.find_element_by_class_name("js-password-field")
element_pass.send_keys(password)
#Klicken Sie auf die Schaltfläche Anmelden
element_login = driver.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/div[2]/button')
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
element_login.click()
#Tweet
time.sleep(3)
driver.find_element_by_xpath('//*[@id="react-root"]/div/div/div/main/div/div/div/div[1]/div/div[2]/div[2]/div[1]/div/div/div[2]/div[1]/div/div/div/div/div/div/div/div[1]/div[1]/div/div/div/div[2]/div/div/div/div').send_keys(message)
# time.sleep(1)
driver.find_element_by_xpath('//*[@id="react-root"]/div/div/div/main/div/div/div/div[1]/div/div[2]/div[2]/div[1]/div/div/div[2]/div[2]/div/div/div[2]/div[3]').click()
#Schlaf, um zu warten, bis der Tweet fertig ist
time.sleep(2)
driver.quit()
return
#Funktion zum Abrufen von Preis- und Preisurteilen auf der Ring Fit-Produktseite von Amazon
def get_price(xpath):
price1 = driver.find_element_by_xpath(xpath)
p1str = price1.text[1:]
p1int = int(p1str.replace(',',''))
now = datetime.datetime.now(pytz.timezone('Asia/Tokyo'))
message2 = "[Auf Lager] Ring Fit Adventure" + str(p1int) + "Verkauft in Yen!" + " Amazon URL: " + url + " datetime: " + str(now)
#Listenpreisbeurteilung
if p1int > 9000 or p1int < 5000:
return
tweet(message2)
return
#Auf der Ringfit-Produktseite befinden sich mehrere xpath-Erscheinungsmuster. Versuchen Sie daher, den Preis für diese Muster zu ermitteln.
xpaths = [
'//*[@id="unqualifiedBuyBox"]/div/div[1]/span',
'//*[@id="priceblock_ourprice"]'
]
for xpath in xpaths:
get_price(xpath)
driver.quit()
Für die Ausführung von Tweets auf Selen habe ich auf [hier] verwiesen (https://qiita.com/sugusan/items/3cf6c30d07ae0dc28e1f). Das Element wurde von xpath mit derselben Methode wie [hier] erfasst (https://www.hacky.xyz/entry/2017/04/15/164049).
crontab
cron.conf
#Der Chromtreiber, auf den Selen verweist/home/ec2-user/Da es sich in bin befindet, fügen Sie es dem Pfad hinzu
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
#Führen Sie jede Minute ein Python-Skript aus
* * * * * python3 /home/ec2-user/ringfit/amazon.py
Beschreibt Servereinstellungen und Bereitstellungen zum Löschen von Wiederverkäufern.
#Laden Sie die erforderlichen Ressourcen herunter und installieren Sie sie
sudo yum -y update
sudo yum -y install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
#Laden Sie den Treiber für die Chrome-Version herunter.
#Versionsbestätigungsbefehl
# yum info google-chrome-stable
wget https://chromedriver.storage.googleapis.com/78.0.3904.105/chromedriver_linux64.zip
unzip chromedriver_linux64.zip -d bin/
sudo yum -y install python3
sudo pip3 install Selenium
sudo pip3 install pytz
sudo yum -y install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts
Stellen Sie amazon.py
und cron.conf
bereit (weggelassen).
Hier wird davon ausgegangen, dass Sie für "/ home / ec2-user / ringfit" bereitgestellt haben.
#Bereitstellungsziel
deploy_dir="/home/ec2-user/ringfit"
#crontab-Einstellungen (nach dem Zurücksetzen von cron.conf wird gelesen)
crontab -r
crontab -u ec2-user ${deploy_dir}/cron.conf
Bei Ihrer Ankunft erhalten Sie jede Minute einen solchen Tweet.
Q&A
Amazon Da es beim Zugriff über den Befehl curl oder Python abgespielt wird, habe ich Chrome mit Selen gestartet und die Methode des Zugriffs mit der gleichen Vorgehensweise wie ein allgemeiner Benutzer angewendet.
twitter Ich habe ein Twitter-Entwicklerkonto, aber aus irgendeinem Grund hatte ich keine Berechtigung zum Erstellen einer App. Es gab eine Beschreibung, dass ich eine Telefonnummer in meinem Twitter-Konto registrieren konnte, aber aus irgendeinem Grund konnte ich meine Telefonnummer nicht registrieren ... Geben Sie auf und starten Sie Chrom mit Selen. Das Folgende wird abgekürzt.
Korrekt. Ich denke jedoch, dass Wiederverkäufer eine solche Funktion für sich haben. Die Bedeutung dieses Bots besteht darin, dass allgemeine Käufer auf dem gleichen Boden wie Wiederverkäufer stehen können.
――Ich möchte etwas Geld verdienen, indem ich den an den Tweet angehängten Link zu einem Affiliate-Link mache. Zumindest über die AWS-Gebühr ... ――Ich dachte, ich würde in kürzester Zeit ungefähr 1000 Follower erreichen. Auf mehreren Konten und Facebook beworben. Ich suchte nach "Ring Fit nicht zum Verkauf" und "Ich möchte Ring Fit" und öffnete es jeden Tag mit manuellen Likes. Infolgedessen nimmt es nicht zu. Ich gehe nicht 50. Es nimmt überhaupt nicht zu. Warum? Wenn Sie einen Ring Fit kaufen können, werden Sie nicht mehr verfolgt, da der Bot bereits veraltet ist. Der Ärger über die einmalige Benachrichtigung nimmt zu. Auf der anderen Seite bin ich froh, dass Benutzer RingFit richtig kaufen, aber ich bin weit davon entfernt, diese Funktion vielen Menschen zur Verfügung zu stellen und Wiederverkäufer auszurotten. ――Um die Anzahl der Follower zu erhöhen, haben wir auch Ankündigungen von anderen Produkten als Ring Fit in Betracht gezogen. Nur weil Sie beispielsweise Ring Fit wünschen, bedeutet dies nicht, dass Sie AirPods möchten, und ich denke, dass Ankündigungen von Produkten, an denen Sie nicht interessiert sind, nur Lärm sind Ich tat.
Bis zum Ende Danke fürs Lesen. Es war der erste Qiita-Beitrag. Ich werde weiterhin Artikel schreiben (etwas ernster), daher freue ich mich darauf, mit Ihnen zusammenzuarbeiten.
Wenn Sie das Ringfit-Abenteuer noch nicht haben, verwenden Sie es bitte, wenn Sie ↓ mögen Ringfit Adventure Ankunftsbot
Ring Fit Abenteuer, das Sie zum Festpreis kaufen können ↓
Stimme der Dankbarkeit ↓