真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

今天就跟大家聊聊有關(guān)Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

在長(zhǎng)壽等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供網(wǎng)站制作、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營(yíng)銷(xiāo)型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站建設(shè),長(zhǎng)壽網(wǎng)站建設(shè)費(fèi)用合理。

0x00 前言

一個(gè)AJ1聯(lián)名OFF-White的鞋原價(jià)1399,炒賣(mài)價(jià)已經(jīng)到了1w+(其實(shí)我也是個(gè)SneakerHead)以下是我近期的交易記錄(拿來(lái)裝X的),很扎心.....But,現(xiàn)在都是抽簽,跟搶貌似無(wú)關(guān),就不寫(xiě)SneakerBot了...

Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

再附上我在NIKE美國(guó)官網(wǎng)中簽截圖吧,聽(tīng)說(shuō)Bred Toe還上了熱搜,啊哈哈

Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

所以就有了本篇文章吧....
強(qiáng)調(diào)一下,本文的主要目的就是搶東西,從火車(chē)余票查詢(xún),到打造一個(gè)搶Supreme的BOT吧。。而這一切都是基于Python

0x01 火車(chē)余票查詢(xún)

之前回家,不少人為了火車(chē)票發(fā)愁......

所以,就有了本小節(jié)文章....監(jiān)控火車(chē)余票...

本次環(huán)境是:Python2.7+deepinlinux

因?yàn)閃indows編碼問(wèn)題多的我想打人,所以就換了linux

實(shí)現(xiàn)完的效果是這樣的

Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

咱們分步寫(xiě)

https://kyfw.12306.cn/otn/leftTicket/init,抓包

Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

這是一個(gè)Get請(qǐng)求....所以看下這個(gè)url

https://kyfw.12306.cn/otn/leftTi ... purpose_codes=ADULT

train_date參數(shù)后面是時(shí)間

from_station參數(shù)后是起點(diǎn)站

to_station參數(shù)后是到達(dá)站

分析了這些之后,就可以通過(guò)Python來(lái)實(shí)現(xiàn)這個(gè)url了

這里呢,有個(gè)問(wèn)題,像這些城市地點(diǎn)的英文在哪獲取,通過(guò)F12大法,發(fā)現(xiàn)在這

Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

https://kyfw.12306.cn/otn/resour ... tion_version=1.9047

我事先爬好了這些,在這里感謝一下Onise表哥@0nise,為了保證代碼的美觀性吧,所以我就import它了


Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

先獲取頁(yè)面內(nèi)容,

# -*- coding: utf-8 -*-
import requests
from stations import stations
def Get_train_text():
    from_station = stations.get(raw_input('Please enter where you are from:'))
    to_station = stations.get(raw_input('Please enter where you want to go:'))
    date = raw_input('Please enter the date you want to inquire:')
    url = ('https://kyfw.12306.cn/otn/leftTicket/queryZ?'
          'leftTicketDTO.train_date={}&'
          'leftTicketDTO.from_station={}&'
          'leftTicketDTO.to_station={}&'
          'purpose_codes=ADULT').format(date,from_station,to_station)
       
    r=requests.get(url)
    trains_text = r.json()['data']['result']
    print trains_text
if __name__ == '__main__':
    Get_train_text()


Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器
然后for循環(huán)...

def Get_train_information():[/size]
[size=3]    for raw_train in Get_train_text():[/size]
[size=3]        print raw_train

然后觀察一下

Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

這樣就很明朗了吧...

def Get_train_information():
    key_list = []
    value_list = []
    for key,value in stations.items():
        key_list.append(key)
        value_list.append(value)
    for raw_train in Get_train_text():
        data_list = raw_train.split('|')
        train_number = data_list[3]  #車(chē)次
        from_station_code = data_list[6]  #始發(fā)站信息
        to_station_code = data_list[7] #終點(diǎn)站信息
        from_station_index = value_list.index(from_station_code)
        to_station_index = value_list.index(to_station_code)
        from_station_name = key_list[from_station_index]
        to_station_name = key_list[to_station_index] 
        start_time = data_list[8] #出發(fā)時(shí)間
        arrive_time = data_list[9]  #到達(dá)時(shí)間
        time_duration = data_list[10]  #歷時(shí)
        first_class_seat = data_list[31] #一等座
        second_class_seat = data_list[30] #二等座
        soft_sleep = data_list[23] or '--' #軟臥
        hard_sleep = data_list[28] or '--'  #硬臥
        hard_seat= data_list[29] or '--' #硬座
        no_seat = data_list[26] or '--'  #無(wú)座

大概就是這樣,然后讓這些可觀,就要用到PrettyTable了

pip install prettytable

# -*- coding: utf-8 -*-
import requests
from stations import stations
from prettytable import PrettyTable
def Get_train_text():
    from_station = stations.get(raw_input('Please enter where you are from:'))
    to_station = stations.get(raw_input('Please enter where you want to go:'))
    date = raw_input('Please enter the date you want to inquire:')
    url = ('https://kyfw.12306.cn/otn/leftTicket/queryZ?'
          'leftTicketDTO.train_date={}&'
          'leftTicketDTO.from_station={}&'
          'leftTicketDTO.to_station={}&'
          'purpose_codes=ADULT').format(date,from_station,to_station)
       
    r=requests.get(url)
    trains_text = r.json()['data']['result']
    return trains_text
def Get_train_information():
    key_list = []
    value_list = []
    table = PrettyTable()
    table._set_field_names('車(chē)次 出發(fā)地點(diǎn) 到達(dá)地點(diǎn) 出發(fā)時(shí)間 到達(dá)時(shí)間 歷時(shí) 一等 二等 軟臥 硬臥 硬座 無(wú)座'.split())
    for key,value in stations.items():
        key_list.append(key)
        value_list.append(value)
    for raw_train in Get_train_text():
        data_list = raw_train.split('|')
        train_number = data_list[3]  #車(chē)次
        from_station_code = data_list[6]  #始發(fā)站信息
        to_station_code = data_list[7] #終點(diǎn)站信息
        from_station_index = value_list.index(from_station_code)
        to_station_index = value_list.index(to_station_code)
        from_station_name = key_list[from_station_index]
        to_station_name = key_list[to_station_index] 
        start_time = data_list[8] #出發(fā)時(shí)間
        arrive_time = data_list[9]  #到達(dá)時(shí)間
        time_duration = data_list[10]  #歷時(shí)
        first_class_seat = data_list[31] #一等座
        second_class_seat = data_list[30] #二等座
        soft_sleeper = data_list[23] or '--' #軟臥
        hard_sleeper = data_list[28] or '--'  #硬臥
        hard_seat= data_list[29] or '--' #硬座
        no_seat = data_list[26] or '--'  #無(wú)座
        table.add_row([
            train_number,
            from_station_name, 
            to_station_name,
            start_time, 
            arrive_time,
            time_duration,
            first_class_seat,
            second_class_seat,
            soft_sleeper,
            hard_sleeper,
            hard_seat,
            no_seat
                  ])
    print table
if __name__ == '__main__':
    Get_train_information()

0x02  Selenium模塊簡(jiǎn)單介紹

之后的,咱們應(yīng)該都要用Python中selenium模塊,怎么說(shuō)呢,這個(gè)東西,我感覺(jué)挺好用的唉
這里呢,我簡(jiǎn)單的說(shuō)下
安裝
pip install selenium
安裝Firefox
http://ftp.mozilla.org/pub/firefox/releases/
安裝FirefoxDriver,geckdriver
https://github.com/mozilla/geckodriver/releases
Chrome瀏覽器需要安裝chromedriver,IE瀏覽器要安裝IEdriver
driver的路徑可以直接放在python路徑下,我這里把driver放在了python的Scripts路徑下,同時(shí)把script路徑加入環(huán)境變量。
說(shuō)幾個(gè)簡(jiǎn)單用法..
訪問(wèn)頁(yè)面并獲取源碼

#-*- coding: UTF-8 -*-
from selenium import webdriver
 
browser = webdriver.Firefox()
browser.get("http://www.baidu.com")
print browser.page_source 
browser.close()

瀏覽器最大化

driver.maximize_window()

設(shè)置瀏覽器大小

driver.set_window_size(480, 800)

瀏覽器前進(jìn)后退

driver.back()#瀏覽器后退
driver.forward()#瀏覽器前進(jìn)
webdriver 提供了一系列的元素定位方法,常用的有以下幾種:

id
name
class name
tag name
link text
partial link text
xpath
css selector
分別對(duì)應(yīng)python webdriver 中的方法為:

find_element_by_id()
find_element_by_name()
find_element_by_class_name()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_xpath()
find_element_by_css_selector()


就簡(jiǎn)單介紹到這,寫(xiě)的很不詳細(xì)吧....
這里呢?你可以去看官方文檔
http://selenium-python.readthedocs.io/index.html

0x03  打造屬于自己的SupremeBOT


Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

Supreme1994年秋季誕生于美國(guó)紐約曼哈頓,由James Jebbia創(chuàng)辦。supreme的本意是最高、至上的。Supreme是結(jié)合滑板、Hip-hop等文化并以滑板為主的美國(guó)街頭服飾品牌。

那什么,我要說(shuō)一下,是supreme[su:?pri:m](蘇普瑞姆),而不是super me
找人代購(gòu)又太貴,價(jià)格炒的高的不要不要得,還有一堆BOT。。。。所以呢,我就有了個(gè)打造屬于自己得SUPREMEBOT了,啊哈哈

在這里強(qiáng)調(diào)一下,人生苦短,我用Python

還是采用分步寫(xiě),不看別的,只看思路,對(duì)對(duì)對(duì)
官網(wǎng)地址:http://www.supremenewyork.com/
首先,咱們先判斷,商品是不是存在,并加入購(gòu)物車(chē),我拿supreme的配件做的演示,沒(méi)有加判斷SIZE的。。。我后面會(huì)貼上,很簡(jiǎn)單的,幾行代碼的事情,啊哈哈我定義了三個(gè)函數(shù),第一個(gè)函數(shù),是遍歷商品關(guān)鍵字的,第二個(gè)函數(shù)是,判斷商品是否存在的,第三個(gè)是main函數(shù)(主要是為了裝X吧,啊哈哈)

我直接貼代碼了。。

#-*- coding: UTF-8 -*-
import time
try:  
    from selenium import webdriver
except ImportError:
    print "Selenium module is not installed...Exiting program."
    exit(1)
     
def Check(keywords, text):
    for i in keywords:
        if i not in text:
            return False
    return True
 
def searchCommodity(browser, category, keywords, color):    
    print " Searching Commodity ..."
    browser.get("http://www.supremenewyork.com/shop/all/" + category)
    links = browser.find_elements_by_class_name("name-link")
    i = 0
    while i < len(links):
        if (Check(keywords, links[i].text) & (color in links[i+1].text)):
            links[i].click()
            print "[/i][/i][i][i] Commodity found"
            return True
        i += 2
    print "[/i][/i][i][i] Commodity not found"
    return False
def main():
    browser = webdriver.Firefox()
    browser.implicitly_wait(5)  #隱性等待5s,隱形等待是設(shè)置了一個(gè)最長(zhǎng)等待時(shí)間,如果在規(guī)定時(shí)間內(nèi)網(wǎng)頁(yè)加載完成,則執(zhí)行下一步,否則一直等到時(shí)間截止,然后執(zhí)行下一步
    category = "accessories"  #商品類(lèi)別
    keywords = []
    keywords.append("Gold Pendant")  #商品關(guān)鍵字
    color = "Gold"  #顏色
    if searchCommodity(browser, category, keywords, color) == False:
        return -1
    try:
        browser.find_element_by_name("commit").click()
    except:
         print "[/i][/i][i][i] Commodity sold out"
         return -1
if __name__ == '__main__':
    main()

額,這里加個(gè)商品描述吧,好看一點(diǎn),啊哈哈

print "Description : " + links[i].text
print "Color : " + links[i+1].text

把商品加入了購(gòu)物車(chē)了,就該買(mǎi)單了,是不是,啊哈哈,如果手動(dòng)填,肯定會(huì)錯(cuò)過(guò),所以selenium的功效來(lái)了

我又定義了函數(shù)fillForm,這里面的收貨信息什么的都要改,改成你的信息

強(qiáng)調(diào)一下,我寫(xiě)的是美國(guó)官網(wǎng),英國(guó)官網(wǎng)貌似在信息那多了個(gè)啥,忘了。。。。

#-*- coding: UTF-8 -*-
import time
try:  
    from selenium import webdriver
    from selenium.webdriver.support.ui import Select
except ImportError:
    print "Selenium module is not installed...Exiting program."
    exit(1)
     
def Check(keywords, text):
    for i in keywords:
        if i not in text:
            return False
    return True
 
def searchCommodity(browser, category, keywords, color):    
    print "[/i][/i][/i][i][i][i] Searching Commodity ..."
    browser.get("http://www.supremenewyork.com/shop/all/" + category)
    links = browser.find_elements_by_class_name("name-link")
    i = 0
    while i < len(links):
        if (Check(keywords, links[i].text) & (color in links[i+1].text)):
            print "Description : " + links[i].text
            print "Color : " + links[i+1].text
            links[i].click()
            print "[/i][/i][/i][/i][/i][/i][i][i][i] Commodity found"
            return True
        i += 2
    print "[/i][/i][/i][i][i][i] Commodity not found"
    return False
def fillForm(browser):
    billing_name = "xx xxx"
    email = "2014802836@qq.com"
    tel = "1111111111"
    billing_address = "xxxxxxxxx"
    billing_city = "Wauchula"
    billing_zip = "11111"
    billing_state = "FL"
    billing_country = "USA"
    nlb = "9999 999 999 9999"
    month = "02"
    year = "2018"
    rvv = "888"
    name = browser.find_element_by_name("order[billing_name]").send_keys(billing_name)
    email = browser.find_element_by_name("order[email]").send_keys(email)
    tel = browser.find_element_by_name("order[tel]").send_keys(tel)
    address = browser.find_element_by_name("order[billing_address]").send_keys(billing_address)
    address = browser.find_element_by_name("order[billing_city]").send_keys(billing_city)
    postCode = browser.find_element_by_name("order[billing_zip]").send_keys(billing_zip)
    billing_state = browser.find_element_by_name('order[billing_state]').send_keys(billing_state)
    countrySelect = Select(browser.find_element_by_name("order[billing_country]")).select_by_visible_text(billing_country)
    creditCardSelect = browser.find_element_by_name('credit_card[nlb]').send_keys(nlb)
    monthExpirationSelect = Select(browser.find_element_by_name("credit_card[month]")).select_by_visible_text(month)
    yearExpirationSelect = Select(browser.find_element_by_name("credit_card[year]")).select_by_visible_text(year)
    cvv = browser.find_element_by_name("credit_card[rvv]").send_keys(rvv)
    browser.find_element_by_class_name("terms").click()
def main():
    browser = webdriver.Firefox()
    browser.implicitly_wait(5)  #隱性等待5s,隱形等待是設(shè)置了一個(gè)最長(zhǎng)等待時(shí)間,如果在規(guī)定時(shí)間內(nèi)網(wǎng)頁(yè)加載完成,則執(zhí)行下一步,否則一直等到時(shí)間截止,然后執(zhí)行下一步
    category = "accessories"  #商品類(lèi)別
    keywords = []
    keywords.append("Gold Pendant")  #商品關(guān)鍵字
    color = "Gold"  #顏色
    if searchCommodity(browser, category, keywords, color) == False:
        return -1
    try:
        browser.find_element_by_name("commit").click()
    except:
         print "[/i][/i] Commodity sold out"[/i]
[i]         return -1[/i]
[i]    time.sleep(1)  #睡一秒,主要是怕報(bào)錯(cuò)[/i]
[i]    browser.find_element_by_class_name("checkout").click()[/i]
[i]    fillForm(browser)[/i]
[i]    browser.find_element_by_name("commit").click()[/i]
 
[i]if __name__ == '__main__':[/i]
[i]    main()

然后就這么好了,然后美化一下CODE吧

#-*- coding: UTF-8 -*-[/i]
[i]import time[/i]
[i]try:  [/i]
[i]    from selenium import webdriver[/i]
[i]    from selenium.webdriver.support.ui import Select[/i]
[i]except ImportError:[/i]
[i]    print "Selenium module is not installed...Exiting program."[/i]
[i]    exit(1)[/i]
 
[i]def Check(keywords, text):[/i]
[i]    for i in keywords:[/i]
[i]        if i not in text:[/i]
[i]            return False[/i]
[i]    return True[/i]
 
[i]def searchCommodity(browser, category, keywords, color):    [/i]
[i]    print "[i][i] Searching Commodity ..."
    browser.get("http://www.supremenewyork.com/shop/all/" + category)
    links = browser.find_elements_by_class_name("name-link")
    i = 0
    while i < len(links):
        if (Check(keywords, links[i].text) & (color in links[i+1].text)):
            print "Description : " + links[i].text
            print "Color : " + links[i+1].text
            links[i].click()
            print "[/i][/i][/i][/i][/i][/i][i][i][i] Commodity found"
            return True
        i += 2
    print "[/i][/i][/i][i][i][i] Commodity not found"
    return False
def fillForm(browser):
    billing_name = "xx xxx"
    email = "2014802836@qq.com"
    tel = "1111111111"
    billing_address = "xxxxxxxxx"
    billing_city = "Wauchula"
    billing_zip = "11111"
    billing_state = "FL"
    billing_country = "USA"
    nlb = "9999 999 999 9999"
    month = "02"
    year = "2018"
    rvv = "888"
    name = browser.find_element_by_name("order[billing_name]").send_keys(billing_name)
    email = browser.find_element_by_name("order[email]").send_keys(email)
    tel = browser.find_element_by_name("order[tel]").send_keys(tel)
    address = browser.find_element_by_name("order[billing_address]").send_keys(billing_address)
    address = browser.find_element_by_name("order[billing_city]").send_keys(billing_city)
    postCode = browser.find_element_by_name("order[billing_zip]").send_keys(billing_zip)
    billing_state = browser.find_element_by_name('order[billing_state]').send_keys(billing_state)
    countrySelect = Select(browser.find_element_by_name("order[billing_country]")).select_by_visible_text(billing_country)
    creditCardSelect = browser.find_element_by_name('credit_card[nlb]').send_keys(nlb)
    monthExpirationSelect = Select(browser.find_element_by_name("credit_card[month]")).select_by_visible_text(month)
    yearExpirationSelect = Select(browser.find_element_by_name("credit_card[year]")).select_by_visible_text(year)
    cvv = browser.find_element_by_name("credit_card[rvv]").send_keys(rvv)
    browser.find_element_by_class_name("terms").click()
def main():
    print " ____                                      ____   ___ _____ "
    print "/ ___| _   _ _ __  _ __ ___ _ __ ___   ___| __ ) / _ \_   _|"
    print "\___ \| | | | '_ \| '__/ _ \ '_ ` _ \ / _ \  _ \| | | || |"
    print " ___) | |_| | |_) | | |  __/ | | | | |  __/ |_) | |_| || |" 
    print "|____/ \__,_| .__/|_|  \___|_| |_| |_|\___|____/ \___/ |_|  "
    print "            |_|                                             "
    print "[/i][/i][/i][i][i][i] Opening Browser ..."
    browser = webdriver.Firefox()
    browser.implicitly_wait(5)  #隱性等待5s,隱形等待是設(shè)置了一個(gè)最長(zhǎng)等待時(shí)間,如果在規(guī)定時(shí)間內(nèi)網(wǎng)頁(yè)加載完成,則執(zhí)行下一步,否則一直等到時(shí)間截止,然后執(zhí)行下一步
    print "[/i][/i][/i][i][i][i] Browser Opened"
    category = "accessories"  #商品類(lèi)別
    keywords = []
    keywords.append("Gold Pendant")  #商品關(guān)鍵字
    color = "Gold"  #顏色
    if searchCommodity(browser, category, keywords, color) == False:
        return -1
    try:
        browser.find_element_by_name("commit").click()
    except:
         print "[/i][/i][/i][i][i][i] Commodity sold out"
         return -1
    time.sleep(1)  #睡一秒,主要是怕報(bào)錯(cuò)
    browser.find_element_by_class_name("checkout").click()
    print "Filling in the information"
    fillForm(browser)
    print "Filled..."
    print "Prepare to buy a bill....."
    browser.find_element_by_name("commit").click()
    print "Finshed,congratulations on your favorite things!!!!!"
 
if __name__ == '__main__':
    main()


Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

差不多是這樣,可以加個(gè)raw_input,這樣就可以省去打開(kāi)瀏覽器的時(shí)間了,對(duì)對(duì)對(duì),最后放上完全版的,可以搶帽衫什么的

#-*- coding: UTF-8 -*-
import time
try:  
    from selenium import webdriver
    from selenium.webdriver.support.ui import Select
except ImportError:
    print "Selenium module is not installed...Exiting program."
    exit(1)
     
def Check(keywords, text):
    for i in keywords:
        if i not in text:
            return False
    return True
 
def searchCommodity(browser, category, keywords, color):    
    print "[/i][/i][/i][i][i][i] Searching Commodity ..."
    browser.get("http://www.supremenewyork.com/shop/all/" + category)
    links = browser.find_elements_by_class_name("name-link")
    i = 0
    while i < len(links):
        if (Check(keywords, links[i].text) & (color in links[i+1].text)):
            print "Description : " + links[i].text
            print "Color : " + links[i+1].text
            links[i].click()
            print "[/i][/i][/i][/i][/i][/i][i][i][i] Commodity found"
            return True
        i += 2
    print "[/i][/i][/i][i][i][i] Commodity not found"
    return False
def fillForm(browser):
    billing_name = "xx xxx"
    email = "2014802836@qq.com"
    tel = "1111111111"
    billing_address = "xxxxxxxxx"
    billing_city = "Wauchula"
    billing_zip = "11111"
    billing_state = "FL"
    billing_country = "USA"
    nlb = "9999 999 999 9999"
    month = "02"
    year = "2018"
    rvv = "888"
    name = browser.find_element_by_name("order[billing_name]").send_keys(billing_name)
    email = browser.find_element_by_name("order[email]").send_keys(email)
    tel = browser.find_element_by_name("order[tel]").send_keys(tel)
    address = browser.find_element_by_name("order[billing_address]").send_keys(billing_address)
    address = browser.find_element_by_name("order[billing_city]").send_keys(billing_city)
    postCode = browser.find_element_by_name("order[billing_zip]").send_keys(billing_zip)
    billing_state = browser.find_element_by_name('order[billing_state]').send_keys(billing_state)
    countrySelect = Select(browser.find_element_by_name("order[billing_country]")).select_by_visible_text(billing_country)
    creditCardSelect = browser.find_element_by_name('credit_card[nlb]').send_keys(nlb)
    monthExpirationSelect = Select(browser.find_element_by_name("credit_card[month]")).select_by_visible_text(month)
    yearExpirationSelect = Select(browser.find_element_by_name("credit_card[year]")).select_by_visible_text(year)
    cvv = browser.find_element_by_name("credit_card[rvv]").send_keys(rvv)
    browser.find_element_by_class_name("terms").click()
def main():
    print " ____                                      ____   ___ _____ "
    print "/ ___| _   _ _ __  _ __ ___ _ __ ___   ___| __ ) / _ \_   _|"
    print "\___ \| | | | '_ \| '__/ _ \ '_ ` _ \ / _ \  _ \| | | || |"
    print " ___) | |_| | |_) | | |  __/ | | | | |  __/ |_) | |_| || |" 
    print "|____/ \__,_| .__/|_|  \___|_| |_| |_|\___|____/ \___/ |_|  "
    print "            |_|                                             "
    print "[/i][/i][/i][i][i][i] Opening Browser ..."
    browser = webdriver.Firefox()
    browser.implicitly_wait(5)  #隱性等待5s,隱形等待是設(shè)置了一個(gè)最長(zhǎng)等待時(shí)間,如果在規(guī)定時(shí)間內(nèi)網(wǎng)頁(yè)加載完成,則執(zhí)行下一步,否則一直等到時(shí)間截止,然后執(zhí)行下一步
    print "[/i][/i][/i][i][i][i] Browser Opened"
    raw_input('[/i][/i][/i][i][i][i]Press Enter to buy your Commodity')
    category = "pants"  #商品類(lèi)別
    keywords = []
    keywords.append("Tiger Stripe Track Pant")  #商品關(guān)鍵字
    color = "Brown"  #顏色
    size = 'Medium'
    if searchCommodity(browser, category, keywords, color) == False:
        return -1
    if size != "":
        try:
            sizeSelect = Select(browser.find_element_by_id("s"))
            sizeSelect.select_by_visible_text(size)
        except:
            print "[/i][/i][/i][i][i][i] Commodity sold out......."
            return -1
    try:
        browser.find_element_by_name("commit").click()
    except:
         print "[/i][/i][/i][i][i][i] Commodity sold out"
         return -1
    time.sleep(1)  #睡一秒,主要是怕報(bào)錯(cuò)
    browser.find_element_by_class_name("checkout").click()
    print "Filling in the information"
    fillForm(browser)
    print "Filled..."
    print "Prepare to buy a bill....."
    browser.find_element_by_name("commit").click()
    print "Finshed,congratulations on your favorite things!!!!!"
 
if __name__ == '__main__':
    main()

Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

在附上,今晚week2搶的成果吧,放個(gè)低調(diào)的網(wǎng)球算了,啊哈哈哈

Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器

看完上述內(nèi)容,你們對(duì)Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


當(dāng)前名稱(chēng):Python中如何從火車(chē)余票查詢(xún)到打造搶Supreme神器
分享路徑:http://weahome.cn/article/iioods.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部