日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2025/3/19 python 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python制作自动抢票_python自动抢票 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

# -*- 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"

# 時間格式2016-03-22

dtime = u"2016-03-22"

# 車次,選擇第幾趟,0則從上之下依次點擊

order = 0

###乘客名,如果是自己,則上面有個鏈接是自己的,會跳轉到個人中心,用index[1]

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

pa = u"名字"

"""網址"""

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():

#點擊登錄,從購票頁面調到了登錄頁面

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)

#驗證碼必須手動輸入

print u"等待驗證碼,自行輸入..."

#檢測頁面是否跳轉(用戶是否輸入了驗證碼并且提交)

while True:

if b.url != initmy_url:

sleep(1)

else:

break

def huoche():

global b

b = Browser(driver_name="chrome")

#訪問12306

b.visit(ticket_url)

#查找帶登錄的字符串,u是避免中文報錯

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

sleep(1)

#如果存在調用登錄方法

login()

if b.url == initmy_url:

break

#當執行完login方法后,登錄成功,繼續向下執行

try:

print u"購票頁面..."

# 跳回購票頁面

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

# 循環點擊預訂

#order=0則從第一班車開始全部依次預訂

if order != 0:

#如果頁面沒有跳轉到,說明沒有搶到票,繼續搶票

while b.url == ticket_url:

#點擊查詢進行刷新

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

count +=1

print u"循環點擊查詢... 第 %s 次" % count

sleep(1)

try:

#點擊預訂的那班車

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

except:

print u"還沒開始預訂"

continue

else:

while b.url == ticket_url:

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

count += 1

print u"循環點擊查詢... 第 %s 次" % count

sleep(1)

try:

#從第一個開始依次預訂

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

i.click()

except:

print u"還沒開始預訂"

continue

sleep(1)

#若循環結束了,則選擇聯系人

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

print u"能做的都做了.....不再對瀏覽器進行任何操作"

except Exception as e:

print(traceback.print_exc())

if __name__ == "__main__":

huoche()

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。