來自一個程式猿的傲氣:過年回家手動搶票是不可能的
今天除夕的票開搶了,朋友圈紛紛吐槽:
老子單身二十年的麒麟臂都搶不過這些狗日的?
我多重新整理了一下驗證碼,就一秒鐘啊!票就沒了?
今年準備摩拜單車回家!
老闆,我今年不回家了,我要死在崗位上!!!
已經按照這個計劃施行了兩年了,每年都沒出過問題,即使那蛋疼的某購票網站經常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