日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

python制作自动抢票_python自动抢票

發(fā)布時(shí)間:2025/3/19 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python制作自动抢票_python自动抢票 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

# -*- coding: utf-8 -*-

from splinter.browser import Browser

from time import sleep

import traceback

#初始化信息

# 用戶名,密碼

username = u"用戶名"

passwd = u"密碼"

# cookies值得自己去找

starts = u"杭州,HZH"

ends = u"黃石,HSN"

# 時(shí)間格式2016-03-22

dtime = u"2016-03-22"

# 車(chē)次,選擇第幾趟,0則從上之下依次點(diǎn)擊

order = 0

###乘客名,如果是自己,則上面有個(gè)鏈接是自己的,會(huì)跳轉(zhuǎn)到個(gè)人中心,用index[1]

#如果乘客不是自己,則用index[0]

pa = u"名字"

"""網(wǎng)址"""

ticket_url = "https://kyfw.12306.cn/otn/leftTicket/init"

login_url = "https://kyfw.12306.cn/otn/login/init"

initmy_url = "https://kyfw.12306.cn/otn/index/initMy12306"

def login():

#點(diǎn)擊登錄,從購(gòu)票頁(yè)面調(diào)到了登錄頁(yè)面

b.find_by_text(u"登錄").click()

sleep(3)

#給name為loginUserDTO.user_name附上用戶名

#也可以用Id查找的方法b.find_by_id('username').fill(username)

b.fill("loginUserDTO.user_name", username)

sleep(1)

#給name為userDTO.password值

b.fill("userDTO.password", passwd)

sleep(1)

#驗(yàn)證碼必須手動(dòng)輸入

print u"等待驗(yàn)證碼,自行輸入..."

#檢測(cè)頁(yè)面是否跳轉(zhuǎn)(用戶是否輸入了驗(yàn)證碼并且提交)

while True:

if b.url != initmy_url:

sleep(1)

else:

break

def huoche():

global b

b = Browser(driver_name="chrome")

#訪問(wèn)12306

b.visit(ticket_url)

#查找?guī)У卿浀淖址?#xff0c;u是避免中文報(bào)錯(cuò)

while b.is_text_present(u"登錄"):

sleep(1)

#如果存在調(diào)用登錄方法

login()

if b.url == initmy_url:

break

#當(dāng)執(zhí)行完login方法后,登錄成功,繼續(xù)向下執(zhí)行

try:

print u"購(gòu)票頁(yè)面..."

# 跳回購(gòu)票頁(yè)面

b.visit(ticket_url)

# 加載查詢信息

b.cookies.add({"_jc_save_fromStation": starts})

b.cookies.add({"_jc_save_toStation": ends})

b.cookies.add({"_jc_save_fromDate": dtime})

b.reload()

sleep(2)

count = 0

# 循環(huán)點(diǎn)擊預(yù)訂

#order=0則從第一班車(chē)開(kāi)始全部依次預(yù)訂

if order != 0:

#如果頁(yè)面沒(méi)有跳轉(zhuǎn)到,說(shuō)明沒(méi)有搶到票,繼續(xù)搶票

while b.url == ticket_url:

#點(diǎn)擊查詢進(jìn)行刷新

b.find_by_text(u"查詢").click()

count +=1

print u"循環(huán)點(diǎn)擊查詢... 第 %s 次" % count

sleep(1)

try:

#點(diǎn)擊預(yù)訂的那班車(chē)

b.find_by_text(u"預(yù)訂")[order - 1].click()

except:

print u"還沒(méi)開(kāi)始預(yù)訂"

continue

else:

while b.url == ticket_url:

b.find_by_text(u"查詢").click()

count += 1

print u"循環(huán)點(diǎn)擊查詢... 第 %s 次" % count

sleep(1)

try:

#從第一個(gè)開(kāi)始依次預(yù)訂

for i in b.find_by_text(u"預(yù)訂"):

i.click()

except:

print u"還沒(méi)開(kāi)始預(yù)訂"

continue

sleep(1)

#若循環(huán)結(jié)束了,則選擇聯(lián)系人

b.find_by_text(pa)[0].click()

print u"能做的都做了.....不再對(duì)瀏覽器進(jìn)行任何操作"

except Exception as e:

print(traceback.print_exc())

if __name__ == "__main__":

huoche()

總結(jié)

以上是生活随笔為你收集整理的python制作自动抢票_python自动抢票的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。