Pythonは淘宝網のスパイクを実現します!あまりにも多くのお金を節約することを学びました!

1.Seleniumモジュールをインストールします。

Seleniumは多くのブラウザーをサポートしているので、Firefoxブラウザーを選択しました。

インストール方法:①コマンドを開く;②コマンドpip install seleniumを入力する;③自動インストールを入力して待つ;④コードの最後の行にselenium-XXが正常にインストールされた場合は、インストールが成功したことを意味します。

2.プラグインFireBug

FireBugは、Firefoxブラウザのコード要素を表示するためのプラグインであり、要素をすばやく見つけることができます。セレンの焦点は要素の配置です。配置されている場合にのみ、次の手順を実行できます。

テストインストールが成功し、F12キーを押すと、次の画面が表示され、firebugが正常にインストールされたことを示します(ブラウザには基本的に付属しています。この手順は無視してかまいません)

 

 

3.geckodriverをインストールします

ダウンロードリンク:ダウンロードするにはここをクリック

ダウンロードが完了したら、Pythonでフォルダーをスクリプトに解凍します

 

テスト:pycharmに次のコードを入力すると、Baiduウィンドウが正常にポップアップします。これは成功を意味します

from selenium import webdriver 
driver = webdriver.Firefox() 
driver.get('https://www.baidu.com')

****

4.淘宝網スパイクコード

****

from selenium import webdriver
import datetime
import time
from os import path

d = path.dirname(__file__)
abspath = path.abspath(d)

driver = webdriver.Firefox()
driver.maximize_window()


def login():
  # 打开淘宝登录页,并进行扫码登录
  driver.get("https://www.taobao.com")
  time.sleep(3)
  if driver.find_element_by_link_text("亲,请登录"):
    driver.find_element_by_link_text("亲,请登录").click()

  print("请在20秒内完成扫码")
  time.sleep(20)

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


def buy(buytime):
  while True:
    now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
  # 对比时间,时间到的话就点击结算
    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(0.1)
      print(now)
      time.sleep(0.1)


if __name__ == "__main__":
  # times = input("请输入抢购时间:")
  # 时间格式:"2018-09-06 11:20:00.000000"
  login()
  buy("2021-01-16 15:08:00.000000")

ps:

①このバージョンコードはスキャンコードログインですので、スキャンコードの待ち時間が早すぎると感じた場合は調整してください。

②スパイクの前に事前にコードを実行する必要があります

最近、多くの友人がプライベートメッセージを通じてPythonの学習問題について相談しました。コミュニケーションを促進するには、青をクリックしてディスカッションに参加し、自分でリソースベースに回答してください

 

おすすめ

転載: blog.csdn.net/weixin_43881394/article/details/112781167