最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

火車票搶票python代碼公開揭秘!

 更新時(shí)間:2018年03月08日 11:03:03   作者:閔開慧  
火車票搶票python代碼公開揭秘!使用Python模擬搶票程序,給大家揭秘?fù)屍钡降资窃趺椿厥拢信d趣的小伙伴們可以參考一下

市場上很多火車票搶票軟件大家應(yīng)該非常熟悉,但很少有人研究具體是怎么實(shí)現(xiàn)的,所以覺得很神秘,其實(shí)很簡單。下面使用Python模擬搶票程序,給大家揭秘?fù)屍钡降资窃趺椿厥隆?/p>

該代碼僅供參考,主要用于大家溝通交流,禁止用于商業(yè)用途。

具體代碼如下,可以修改成自己的12306用戶名賬號:

# -*- coding: utf-8 -*-
from splinter.browser import Browser
from time import sleep
import traceback
import time, sys

class huoche(object):
 """docstring for huoche"""
 driver_name=''
 executable_path=''
 username = u"xxx@qq.com"
 passwd = u"xxxx"
 starts = u"%u4E0A%u6D77%2CSHH"
 ends = u"%u592A%u539F%2CTYV"
 dtime = u"2018-01-19"
 order = 0
 users = [u"xxx",u"xxx"]
 xb = u"二等座"
 pz=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"
 buy="https://kyfw.12306.cn/otn/confirmPassenger/initDc"
 
 def __init__(self):
 self.driver_name='chrome'
 self.executable_path='/usr/local/bin/chromedriver'

 def login(self):
 self.driver.visit(self.login_url)
 self.driver.fill("loginUserDTO.user_name", self.username)
 # sleep(1)
 self.driver.fill("userDTO.password", self.passwd)
 print u"等待驗(yàn)證碼..."
 while True:
  if self.driver.url != self.initmy_url:
  sleep(1)
  else:
  break

 def start(self):
 self.driver=Browser(driver_name=self.driver_name,executable_path=self.executable_path)
 self.driver.driver.set_window_size(1400, 1000)
 self.login()
 # sleep(1)
 self.driver.visit(self.ticket_url)
 try:
  print u"購票頁面開始..."

  self.driver.cookies.add({"_jc_save_fromStation": self.starts})
  self.driver.cookies.add({"_jc_save_toStation": self.ends})
  self.driver.cookies.add({"_jc_save_fromDate": self.dtime})

  self.driver.reload()

  count=0
  if self.order!=0:
  while self.driver.url==self.ticket_url:
   self.driver.find_by_text(u"查詢").click()
   count += 1
   print u"循環(huán)點(diǎn)擊查詢..." % count
   # sleep(1)
   try:
   self.driver.find_by_text(u"預(yù)訂")[self.order - 1].click()
   except Exception as e:
   print e
   print u"還沒開始預(yù)訂"
   continue
  else:
  while self.driver.url == self.ticket_url:
   self.driver.find_by_text(u"查詢").click()
   count += 1
   print u"循環(huán)點(diǎn)擊查詢..." % count
   # sleep(0.8)
   try:
   for i in self.driver.find_by_text(u"預(yù)訂"):
    i.click()
    sleep(1)
   except Exception as e:
   print e
   print u"還沒開始預(yù)訂 %s" %count
   continue
  print u"開始預(yù)訂..."
  # sleep(3)
  # self.driver.reload()
  sleep(1)
  print u'開始選擇用戶...'
  for user in self.users:
  self.driver.find_by_text(user).last.click()

  print u"提交訂單..."
  sleep(1)
  # self.driver.find_by_text(self.pz).click()
  # self.driver.find_by_id('').select(self.pz)
  # # sleep(1)
  # self.driver.find_by_text(self.xb).click()
  # sleep(1)
  self.driver.find_by_id('submitOrder_id').click()
  # print u"開始選座..."
  # self.driver.find_by_id('1D').last.click()
  # self.driver.find_by_id('1F').last.click()

  sleep(1.5)
  print u"確認(rèn)選座..."
  self.driver.find_by_id('qr_submit_id').click()

 except Exception as e:
  print e

if __name__ == '__main__':
 huoche=huoche()
 huoche.start()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python腳本后臺執(zhí)行方式

    python腳本后臺執(zhí)行方式

    今天小編就為大家分享一篇python腳本后臺執(zhí)行方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python利用yarl實(shí)現(xiàn)輕松操作url

    Python利用yarl實(shí)現(xiàn)輕松操作url

    在諸如網(wǎng)絡(luò)爬蟲、web應(yīng)用開發(fā)等場景中,我們需要利用Python完成大量的url解析、生成等操作。本文為大家介紹了Pythonyarl操作url的方法,需要的可以了解一下
    2022-10-10
  • python腳本監(jiān)控logstash進(jìn)程并郵件告警實(shí)例

    python腳本監(jiān)控logstash進(jìn)程并郵件告警實(shí)例

    這篇文章主要介紹了python腳本監(jiān)控logstash進(jìn)程并郵件告警實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 最新anaconda安裝配置教程

    最新anaconda安裝配置教程

    Anaconda是一個(gè)開源的Python發(fā)行版本,包括Conda、Python以及一大堆安裝好的工具包,比如:numpy、pandas等,這篇文章主要介紹了最新anaconda安裝配置教程,需要的朋友可以參考下
    2023-04-04
  • Django 中的Timezone 處理操作

    Django 中的Timezone 處理操作

    這篇文章主要介紹了Django 中的Timezone 處理操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • python協(xié)程之動(dòng)態(tài)添加任務(wù)的方法

    python協(xié)程之動(dòng)態(tài)添加任務(wù)的方法

    今天小編就為大家分享一篇python協(xié)程之動(dòng)態(tài)添加任務(wù)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 詳解Windows下源碼編譯PaddlePaddle

    詳解Windows下源碼編譯PaddlePaddle

    這篇文章主要為大家介紹了Windows下從源碼編譯PaddlePaddle解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Python實(shí)現(xiàn)實(shí)現(xiàn)gltf預(yù)覽圖的示例詳解

    Python實(shí)現(xiàn)實(shí)現(xiàn)gltf預(yù)覽圖的示例詳解

    隨著3D技術(shù)的不斷發(fā)展,GLTF逐漸成為了Web和移動(dòng)應(yīng)用程序中最流行的3D文件格式之一,本文將介紹如何使用Python生成GLTF模型的預(yù)覽圖,需要的可以了解下
    2025-02-02
  • python commands模塊的適用方式

    python commands模塊的適用方式

    這篇文章主要介紹了python commands模塊的適用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • pycharm部署django項(xiàng)目到云服務(wù)器的詳細(xì)流程

    pycharm部署django項(xiàng)目到云服務(wù)器的詳細(xì)流程

    今天重點(diǎn)給大家介紹pycharm部署django項(xiàng)目到云服務(wù)器的詳細(xì)流程,首先大家需要先下載python3.8壓縮包,然后通過一系列命令完成操作,具體實(shí)現(xiàn)方法,跟隨小編一起看看吧
    2021-06-06

最新評論

峨山| 尚志市| 崇左市| 海淀区| 玉门市| 正安县| 嘉峪关市| 威宁| 阳西县| 盐山县| 伊川县| 阿图什市| 平利县| 瑞丽市| 五河县| 遵义县| 卢氏县| 海阳市| 霞浦县| 福建省| 泽库县| 武鸣县| 卓尼县| 蒲江县| 青浦区| 阜阳市| 肃宁县| 张家界市| 柳河县| 晋宁县| 彝良县| 临湘市| 卓资县| 昌黎县| 广平县| 南华县| 南靖县| 唐山市| 吴旗县| 电白县| 绥化市|