Un parc à thème où les réservations sont nécessaires pour les billets en raison de la récente propagation de maladies infectieuses! Maintenant, je ne peux pas obtenir le passeport de mes rêves sans regarder mon ordinateur ou mon smartphone toute la journée et frapper l'URL à plusieurs reprises.
J'ai donc pensé que c'était le bon moment pour pratiquer le grattage frustré, alors j'ai essayé d'utiliser le grattage pour obtenir mon passeport aussi facilement que possible.
Vous pouvez voir à quel point il est difficile d'obtenir un passeport Dreamland sur le site ici.
Le premier obstacle est que l 'URL qui apparaît sur Internet saute à la page que la page actuelle ne peut pas être ouverte en raison d'un accès excessif.
Tout d'abord, dans le but de surmonter ce point, nous allons mettre en œuvre un programme qui accède à cette URL toutes les secondes et nous contacte car il est facile de se connecter à notre adresse e-mail lorsque nous pouvons y accéder.
Exécutez sur python3. Toutes les bibliothèques dépendantes devraient pouvoir être installées avec pip3, donc si vous ne l'avez pas encore installé
$pip3 install hoge
L'environnement doit être prêt.
main.py
import requests
from bs4 import BeautifulSoup
import time
import gmail
for i in range(100000):
urlName = "https://reserve.tokyodisneyresort.jp/ticket/search/"
url = requests.get(urlName)
soup = BeautifulSoup(url.content, "html.parser")
title = soup.find("h1").text
print(i)
if(title!="Avis de Tokyo Disney Resort"):
print("SUCEED!")
gmail.send()
print(soup)#Sortie de toutes les informations
break
print("FAILURE")
time.sleep(1)
Étant donné que gmail est un script décrit plus tard, aucune installation n'est requise.
Vérifiez le flux ici. Tout d'abord, accédez au lien dans une boucle longue ou infinie, et si le titre est "Avis d'un certain parc à thème", l'accès échoue, alors réessayez. Si le titre est un autre titre, l'accès est réussi, envoyez gmail. Il se termine par cracher toutes les informations HTML du site.
Ici, je veux faire une automatisation complète à l'avenir, donc les informations HTML sont sorties en standard.
Ensuite, écrivez un script pour envoyer Gmail.
gmail.py
import smtplib
from email.mime.text import MIMEText
from email.utils import formatdate
def send():
FROM_ADRESS = "Hydromel du côté de l'envoi de courrier"
PASSWORD = "Mot de passe de l'expéditeur du courrier"
TO_ADRESS = "Mail du destinataire"
smtpobj = smtplib.SMTP('smtp.gmail.com', 587)
smtpobj.ehlo()
smtpobj.starttls()
smtpobj.ehlo()
smtpobj.login(FROM_ADRESS, PASSWORD)
#Décrivez le contenu de l'e-mail
msg = MIMEText('https://reserve.tokyodisneyresort.jp/ticket/search/')
msg['Subject'] = 'EASY TO ACCESS NOW!'
msg['From'] = FROM_ADRESS
msg['To'] = TO_ADRESS
msg['Date'] = formatdate()
smtpobj.sendmail(FROM_ADRESS,TO_ADRESS,msg.as_string())
smtpobj.close()
Implémenté pour que l'URL d'achat du ticket puisse être envoyée lorsque send () est lu avec le code minimum requis. Une chose à garder à l'esprit ici est que gmail.send () ne fonctionnera pas à moins que l'expéditeur de l'e-mail ne soit autorisé à accéder à partir d'une application non sécurisée dans les paramètres de sécurité de Gmail. Vous devez modifier le paramètre pour autoriser avant de le déplacer (ce n'est pas autorisé par défaut)
Si vous copiez et collez tout le code et enregistrez-le dans le même répertoire que main.py, gmail.py
$python3 main.py
Doit être exécuté en.
J'aimerais étudier le scraping avec python dans le but de rendre les achats entièrement automatiques en utilisant les informations HTML obtenues par ce programme.
Recommended Posts