current position:Home>The rich woman's best friend asked me to write her a Taobao double 11 rush purchase script in Python, which can only be arranged

The rich woman's best friend asked me to write her a Taobao double 11 rush purchase script in Python, which can only be arranged

2022-01-30 13:48:07 White and white I

Little knowledge , Great challenge ! This article is participating in “    A programmer must have a little knowledge    ” Creative activities

This article has participated in  「 Digging force Star Program 」 , Win a creative gift bag , Challenge creation incentive fund

What kind of experience is it to have a sister who cuts off one hand every double 11 ? I didn't learn Python When , Just let me give her all kinds of tickets , Now learn a little Python, Just let me write her a rush script , Ah ! What can I do , If you are used to it, you can only spoil it .

image.png

image.png

After my unremitting research , The experiment is finally finished ! You guys are welcome to show me if you can optimize , Welcome to point out my shortcomings .

To enter the body ...

Our climbing goal

Website : TaoBao

image.png

Tool use

development tool :pycharm
development environment :python3.7, Windows10
Using the toolkit :selenuim

Demand analysis

Our goal is to kill Taobao's orders , There are several key points , First you need to log in to Taobao , Secondly, you need to prepare the order , Finally, the order should be submitted quickly at the appointed time .

Analysis of project ideas

selenium Installation configuration

selenium yes Python Tool library for automated testing , Some environment drivers need to be configured
selenium install

pip install selenium
 Copy code 

Selenium Once installed , It can't be used directly , It needs to dock with the browser . Here Chrome Browser as an example . If you want to use Selenium A successful call Chrome Browser to complete the corresponding operation , Need to pass through ChromeDriver To drive .
link :

chromedriver.storage.googleapis.com/index.html

According to their own chorme Version select the installed driver version

image.png

image.png

Once the download is complete , decompression , Place it in Python Under installation path python In the folder

image.png

Project analysis

Try to pass through selenium Open Taobao Homepage , Verify successful installation

from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.taobao.com")


 Copy code 

adopt xpath Locate and select the login tab , Buying scripts need to know what you're buying first
image.png

The way to log in is optional ( You can log in with your account password , You can also scan the code to log in , Spicy bar logs in here by scanning the code )

Click the shopping cart after successful login , Select the product data you need ( You can select all , You can manually check )

image.png

Click the settlement button
image.png

Set a settlement time , The time you need to place an order

image.png

Wait for time to come Click the submit order button

image.png

Easy source sharing

from selenium import webdriver
import datetime
import time


driver = webdriver.Chrome()
driver.maximize_window()


def login():
    #  Open the Taobao login page , And scan the code to log in 
    driver.get("https://www.taobao.com")
    time.sleep(3)
    if driver.find_element_by_link_text(" Pro - , Please log in "):
        driver.find_element_by_link_text(" Pro - , Please log in ").click()

    print(" Please be there. 30 Scan code in seconds ")
    time.sleep(30)

    driver.get("https://cart.taobao.com/cart.htm")
    time.sleep(3)
    #  Click the select all button in the shopping cart 
    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:%f'))


def buy(buytime):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        print(" current time " + now)
        #  Compare time , When the time comes, click settlement 
        if now > buytime:
            try:
                #  Click the settlement button 
                if driver.find_element_by_id("J_Go"):
                    driver.find_element_by_id("J_Go").click()
                driver.find_element_by_link_text(' place order ').click()
            except:
                time.sleep(0.1)
        print(now)
        time.sleep(0.1)

if __name__ == "__main__":
    # times = input(" Please enter the rush time :")
    #  Time format :"2018-09-06 11:20:00.000000"
    login()
    buy("2021-08-24 14:30:00.000000")

 Copy code 

I am white and white i, A program Yuan who likes to share knowledge ️
Interested can pay attention to my official account : White and white Python【 Thank you very much for your praise 、 Collection 、 Focus on 、 Comment on , One key three links support 】

copyright notice
author[White and white I],Please bring the original link to reprint, thank you.
https://en.pythonmana.com/2022/01/202201301348057818.html

Random recommended