Produit reconditionné certifié peut être l'une des options pour acheter un Mac, etc. à un prix inférieur au prix catalogue. Vous pouvez acheter un produit qui a l'air neuf à un prix d'environ 15%, mais s'il s'agit d'un produit populaire, il se vendra rapidement. Afin de ne pas rater une opportunité, nous avons mis en place une programmation pour rechercher le produit souhaité par programmation, l'ajouter au panier, et le notifier par ligne.
Accédez à la page cible → Aller à l'URL contenant la chaîne de caractères spécifiée → Processus de connexion → Ajouter au panier → Notifier par ligne → Enregistrer le nom du produit. Il existe de nombreuses explications sur le sélénium, je les omettrai donc dans cet article. Selenium Remplacez * hoge * par le caractère réel.
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.MacBook Pro 2 4 pouces.2GHz" in r and "Zone grise" 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("hogehoge@gmail.com")
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='En stock'+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')
Mon ancêtre a écrit un code merveilleux, alors je l'ai utilisé pendant que j'avais peur. Envoyer un message à LINE avec Python
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,
)
En tant que premier message du projet parallèle, j'ai écrit que j'avais appris le scraping qui m'intéressait. Nous travaillerons sur la fixation des points qui ne peuvent pas être exécutés régulièrement et des points sur lesquels le code d'accès est écrit directement. Nous coderons tous les jours et enverrons des informations.
Recommended Posts