Maison  >  Article  >  développement back-end  >  Python implémente une fonction simple de vente flash Taobao

Python implémente une fonction simple de vente flash Taobao

不言
不言original
2018-05-03 15:35:165411parcourir

Cet article présente principalement Python pour implémenter en détail la fonction simple de vente flash Taobao, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

L'exemple de cet article partage avec vous la fonction de vente flash Python Taobao. . Le code spécifique est pour votre référence. Le contenu spécifique est le suivant

Hier, Moutai a lancé une vente flash en ligne. Au départ, je pensais pouvoir utiliser l'incroyable vitesse de ma main pour acheter une bouteille en quelques secondes, mais c'est le cas. s'est avéré. . . .

J'ai donc appris de l'expérience et j'ai pensé qu'il serait plus fiable d'utiliser un script. J'ai cherché et cherché sur Internet, et quand j'ai vu du sélénium, mes yeux se sont soudainement allumés !

Le processus global est le suivant : Allez sur Taobao -> Recherchez le bouton de connexion pour vous connecter -> Sélectionnez un mot de passe sur la page de connexion -> ; Accédez à la page du panier -> Cliquez sur Tout. Sélectionnez le bouton, attendez l'heure convenue, puis réglez et passez la commande immédiatement lorsque le délai est écoulé.

Code :

import os
from selenium import webdriver
import datetime
import time

#需要下载deckodreiver
firefox = os.path.abspath(r"E:\Program Files\Mozilla Firefox\firefox.exe")
os.environ["webdriver.firefox.bin"] = firefox
driver = webdriver.Firefox()
driver.maximize_window()

def login(uname, pwd):
 driver.get("https://www.taobao.com")
 if driver.find_element_by_link_text("亲,请登录"):
  driver.find_element_by_link_text("亲,请登录").click()
 input(uname, pwd)

 #点击购物车里全选按钮
 if driver.find_element_by_id("J_SelectAll1"):
  driver.find_element_by_id("J_SelectAll1").click()
 # time.sleep(3)
 now = datetime.datetime.now()
 print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))

def input(uname,pwd):
 time.sleep(3)
 #选择密码登录
 if driver.find_element_by_id("J_Quick2Static"):
  driver.find_element_by_id("J_Quick2Static").click()
 time.sleep(3)

 #用户名输入
 if driver.find_element_by_name("TPL_username"):
  for i in uname:
   driver.find_element_by_name("TPL_username").send_keys(i)
   time.sleep(0.5)
 time.sleep(3)

 #密码输入
 if driver.find_element_by_name("TPL_password"):
  for j in pwd:
   driver.find_element_by_name("TPL_password").send_keys(j)
   time.sleep(0.5)
 time.sleep(3)

 #点击登录按钮
 if driver.find_element_by_id("J_SubmitStatic"):
  driver.find_element_by_id("J_SubmitStatic").click()
 time.sleep(3)
 driver.get("https://cart.taobao.com/cart.htm")
 time.sleep(2)

def buy(buytime):
 while True:
  now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  if now == buytime:
    try:
     #点击结算按钮
     if driver.find_element_by_id("J_Go"):
      driver.find_element_by_id("J_Go").click()
     driver.find_element_by_link_text('提交订单').click()
    except:
     time.sleep(1)
  print(now)
  time.sleep(1)
if __name__=="__main__":
 #中文账号记得decode编码
 login("账号",'密码')
 buy('2018-01-30 13:35:00')

Beaucoup de fils de discussion sont habitués à dormir ici à cause d'une saisie trop rapide lors de la connexion. Une boîte de vérification coulissante apparaîtra, alors dormez quelques secondes et essayez d'imiter les opérations humaines.

Recommandations associées :

Exemple d'implémentation Python d'exportation de données vers Excel

Implémentation Python pour confirmer si une chaîne contient une instance de la chaîne spécifiée

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn