1. 程式人生 > >來自一個程式猿的傲氣:過年回家手動搶票是不可能的

來自一個程式猿的傲氣:過年回家手動搶票是不可能的

今天除夕的票開搶了,朋友圈紛紛吐槽:

老子單身二十年的麒麟臂都搶不過這些狗日的?

我多重新整理了一下驗證碼,就一秒鐘啊!票就沒了?

今年準備摩拜單車回家!

老闆,我今年不回家了,我要死在崗位上!!!

已經按照這個計劃施行了兩年了,每年都沒出過問題,即使那蛋疼的某購票網站經常boom。

公司2月12號放假,準備2月11號的機票和2月12號凌晨或者早上的動車票。

1月18日這天我早早起來,睡眼惺忪的開啟電腦、手機。準備好軟體,在電腦上的網站重新登入(重新登入再第一次買票的驗證

碼只會有一個,這裡就不吐槽某購票網站的驗證碼了)。

相信自己,5秒內即可完成。

相信自己,驗證碼不會出錯。

我擦了擦眼鏡,然後,時間停留在了10:00!

一等座:有

二等座:有

點選購買

輸入驗證碼……

可是購票失敗,原因是:

沒有足夠的票。

我盯著10:00:06的時間,久久不能平靜…

然後還要忍受著在接下來的幾分鐘內,這個網站的餘票一直顯示有,可是就是買不到(實際上是沒有了,只是沒重新整理過來。)

我突然腦內想到了朋友的一句話:

現在機器搶票比人為搶票容易多了。

我沒有選擇去睡覺,而是打開了電腦......

使用Python模擬搶票程式

-- coding: utf-8 --

"""

@author: liuyw
"""
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"[email protected]" passwd = u"xxxx" # cookies值得自己去找, 下面兩個分別是上海, 太原南 starts = u"%u4E0A%u6D77%2CSHH" ends = u"%u592A%u539F%2CTYV" # 時間格式2018-01-19 dtime = u"2018-01-19" # 車次,選擇第幾趟,0則從上之下依次點選 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"等待驗證碼,自行輸入..." 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"購票頁面開始..." # sleep(1) # 載入查詢資訊 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"迴圈點選查詢... 第 %s 次" % count # sleep(1) try: self.driver.find_by_text(u"預訂")[self.order - 1].click() except Exception as e: print e print u"還沒開始預訂" continue else: while self.driver.url == self.ticket_url: self.driver.find_by_text(u"查詢").click() count += 1 print u"迴圈點選查詢... 第 %s 次" % count # sleep(0.8) try: for i in self.driver.find_by_text(u"預訂"): i.click() sleep(1) except Exception as e: print e print u"還沒開始預訂 %s" %count continue print u"開始預訂..." # 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"確認選座..." self.driver.find_by_id('qr_submit_id').click() except Exception as e: print e if __name__ == '__main__': huoche=huoche() huoche.start()

該程式碼僅供參考,主要用於大家溝通交流,禁止用於商業用途。

Java架構進階群 694549689

相關推薦

來自一個程式傲氣過年回家手動可能

今天除夕的票開搶了,朋友圈紛紛吐槽:老子單身二十年的麒麟臂都搶不過這些狗日的?我多重新整理了一下驗證碼,就一秒鐘啊!票就沒了?今年準備摩拜單車回家!老闆,我今年不回家了,我要死在崗位上!!!已經按照這個計劃施行了兩年了,每年都沒出過問題,即使那蛋疼的某購票網站經常boom。公司2月12號放假,準備2月11號的

一個程式試用有道雲筆記VIP功能體驗

熟悉我的朋友應該知道,我有一個微信公眾號,叫做“汪子熙", 我會定期在上面推送技術文章。 而我絕大多數技術文章都是在每天上下班的地鐵上用手機寫的,然後到家後同步到電腦上,進行發表。那麼選擇一款好的手機寫作App對我來說就非常重要。 2011年的時候,我比較了國內網易出

連載《一個程式的生命週期》-《發展篇》- 24.你所掌握的技術,創造的價值會越來越低

      去上海蔘加工博會的時候,順便見見群友。此兄搞了幾年開發,碰到機遇後就出來單幹了,在缺少人員的情況下,找了部落格園裡小有名氣的博主到生產現場負責專案實施,此兄描述:小有名氣的博主蒙圈了,根本不知道從哪開始實施......。時代在發生變化,用DOS時代理解PC機時代是不行的、用PC機時代理解網際網路時

一個程式”送給大學生的一些話

來自:部落格園,作者:子慕大詩人 連結:https://www.cnblogs.com/1wen/p/7736092.html 前言: 昨天一個大學生問了我一些問題,他是想賺點錢,因為讀書嘛沒什麼錢,又談了戀愛,想通過一些方式賺點外快。雖然平時也沒怎麼聯絡,但是作為大溼人

連載《一個程式的生命週期》-《發展篇》- 22.城市奮鬥者的阿Q精神

        我把K成員叫到會議室,坦誠的進行了一次交流,應該是第二次正式的交流,解開他的心結和消除他的顧慮,俗話說:江山易改,本性難移。但是我也受教於毛爺爺說的:人是可以改造的。與K成員交流了很長時間,也聊了很多內容,主要核心思想:1.也老大不小了,將來到的方向到底在哪裡?難道一直保持這樣的狀態嗎?不為別

連載《一個程式的生命週期》-《發展篇》- 20.與一位博士生聊天,終歸還是要面對現實

        春節之後上班,感覺時間過的飛快,有幹不完的事。自從歸到***研究院,從原來17下班,改成18點下班了,當然加班是難免的事。忙了一天的工作,晚上還要出差。匆匆趕到火車站,匆匆趕上車,匆匆開啟電腦準備專案交流的材料。連路邊的美景都無暇欣賞,不知道是工作的意義,還是生活的意義。

連載《一個程式的生命週期》-《發展篇》- 12.向生活妥協的選擇之路,你也面臨嗎?

        本篇文章的主角是第二個加入我們團隊的,暫且稱他為G兄。是我第二家公司的同事,但是當時並沒有交集,後來經過其他同事說起,被我招過來的。關於第二家公司的情況,請參見《而立之年,第一次跳槽,尋求轉型》         在加入我們團隊之前,G兄在一個不大不小的公司做內部OA系統,眾所周知不會有什麼太大

連載《一個程式的生命週期》-《發展篇》- 21.“中興事件”反應出的價值偏差

       “中興事件”後國內大多數人像打了雞血一樣,站在道德的制高點進行分析、批判,大道理誰都懂。這種“道德制高點”到底是公德還是私德不好說,就像現在的雞湯文章多了,誰也分不清是真雞湯還是假雞湯,相認絕大多數人只不是過是利用碎片時間發表言論的看客而已。事件過後,絕大多數人仍然照舊,被大城市的浮華掩蓋了反思

連載《一個程式的生命週期》-《發展篇》- 11.在麻木中尋找“源動力”

        公司全體人員在南戴河召開了半年會,原董事長在大會上一再強調“求生存”(儘管取得了不錯的成績)。對此,我有很強共鳴,這10多年走過來始終有一種危機感,直到現在也一刻不敢放鬆。強烈的求生慾望,不斷的在思考發展方向,所以《一個程式猿的生命週期》第一冊的命名為《生存篇》(下載)。        我時常

連載《一個程式的生命週期》-《發展篇》- 16.最近兩件事觸動了我,30多歲真是死都能死的年紀

       坐著從北京駛向西域的綠皮火車,此時的出差感覺是一種放鬆,愛誰誰、受啥啥......我在火車上,出差成為一種旅行。在大城市的人就像上了發條的鐘擺,一刻都不能停下來。最近上電梯N次忘按樓層,默默的站在那,誰也不會提醒你,緩過神兒來之後意識到這種間歇又是不正常的。       最近發生兩件事讓我思考了

連載《一個程式的生命週期》-21.而立之年,第一次跳槽,尋求轉型

        摘要:     有些事要順勢而為,不要強求自己,否則會很累;也不要強求錢,能力所及,萬物皆有。生活在於選擇,那怕選擇錯了,過山車也會從谷底爬上頂峰的。        而立之年,你站在哪裡?回顧過去,你擁有了什麼,有物件了?成家了?有孩子了?有錢了?如果什麼都沒有,那麼成熟了?展望未來,

連載《一個程式的生命週期》-《發展篇》- 23.兩年多的時間,從孤家寡人到10多人的團體,經歷了什麼

        薪資是大家比較關心的話題,應該從幾個層次來看待這個問題。從公司領導層面,公司不僅要養活一個人或幾個人,要養活一群人,給多少薪水就要出多少活或起到多大的作用,誰也不是傻子,至少在領導心理會有一個感覺上的產出比,如果自己當了老闆也是同樣的道理;從公司中層管理層面,儘管沒有薪水的決定權,但是有建議權

連載《一個程式的生命週期》-《發展篇》- 17.程式們,收起玻璃心,給你們的忠告

        程式猿們一直在焦慮幹這行是不是吃青春飯的?在網上喊的挺歡,但是真正能夠意識到危機而改變自己的不知道有多少!假如不幹Coding了,能幹售前?銷售?產品經理?專案經理?自由職業者?......? 說一千道一萬,除了現在的工作技能,還有沒有其他謀生的手段,養活自己及家族。在程式猿職業交流群裡有一個

連載《一個程式的生命週期》-《發展篇》- 14.天要下雨,娘要嫁人,由他去吧。

      1971年,林彪乘坐軍用飛機向中蒙邊境飛去,周恩來將情況彙報給毛主席,請示是否用導彈將飛機打下來。毛主席沒有說話,過了很久,長嘆一口氣,說:“天要下雨,娘要嫁人,由他去吧”。隨馬雲一起創業不在少數,最終離開的人也不在少數,馬雲說聰明的人都離開了阿里。        我在忙的時候,G兄又發來一條訊息

連載《一個程式的生命週期》-《發展篇》

摘要:對於我來講,將來是堅定走創業的道路還是繼續在職場努力,是未來要面臨抉擇的問題,主要是看時機和契機,現在沒有定論,但是肯定是向著自己願意幹的事業方向發展。      注:原來的公司,簡稱A公司;要去的公司,簡稱B公司。      年後,我們環境安全事業部被合併到本部,形成一個大的BG事業部。環

我為什麼會成為一個程式

一、學生時代的運氣         又是一年高考日,依然記得8年之前高考結束後的日子,那3個月真的是人生當中最無憂的時光,一天沒有事情,沒有壓力,只需要等著大學入學。其實我高考的第一志願填的是工商管理專業,其次是金融專業,然後才是軟體工程專業,選擇軟體工程,是因為我哥

連載《一個程式的生命週期》-《發展篇》- 32.疫情中復工,跌宕起伏的2019,發展元年的2020

       始料未及的長假,在悲喜交織中度過,奮鬥一年的休整、安心的陪伴家人、實時關注的疫情。當自己真正成為生活的支點,慢慢的意識到這種狀態不能夠持久、也不能再持續下去了。但是,當我們想復工的時候卻是困難重重,鄉親不讓出去、交通出不去、住處進不去,在想盡辦法的時候,有

連載《一個程式的生命週期》-《發展篇》- 34.如果自己有想法去“創業”,怎麼平衡與工作之間的關係

       大部分人都會有想法,聊起來這些想法甚至滔滔不絕,在程式設計師這個行業很典型,接外包、培訓、小本生意、轉行等等,這也涉及程式設計師職業圈內經常討論的30歲、35歲現象的問題,但是找一個符合自己意願且能夠持續發展的"想法"不是一件容易的事兒,也就是說大部分人的

演算法女博士被程式設計師嘲笑程式碼能力太差,知道怎麼招進來的

在某程式設計師聚集的論壇社群,一名程式設計師的吐槽引起了不少網友的熱議,其稱這名搞演算法的女博士問了一些很弱智的程式碼問題,直接暴露程式碼能力低下,並且還用了很誇張的語氣表示:嚇得我驚掉了下巴。言下之意,這名程式設計師認為這名女博士太水,不知道是怎麼招進來的,還是來自於中部某

程式設計師分析99%的創業公司都值得加入

點選上方“程式人生”,選擇“置頂公眾號”第一時間關注程式猿(媛)身邊的故事圖片源自:Patric