使用Python爬取12306數據:如何搶到從北京回家的票

中國一年一度的農曆春節,也是一年一度的人口大遷移。

據數據顯示,2017年春運全國鐵路旅客發送量已高達3.57億人次。其中北京鐵路發送旅客為3150萬人次。

與春運同樣激烈的,是一年一度的春運搶票。

歷經了拼網速拼眼力、拼徒手計算機操作速度的搶票時代,如今的搶票已經邁向了科技搶票、智能搶票、VIP搶票的卻還是搶不票的新時代?_?

那麼~傳說中的春運搶票究竟是怎樣的一副場景呢。

我們從12306網站採集了2月11日由北京出發的512個車次,共計233個城市的實時余票數據,想要得到一個答案:

春運搶票到底有多難?!

一、春運搶票,30秒定生死

以上的27個城市在起售30秒鐘後,所有車票(含無座)即被一搶而空。

很明顯,如果你30秒內還沒搶到這些城市的票,300秒想搶到的概率基本為0。

在此熱心提醒:如果有購買前往以上地區車次的同,在30秒內還沒擠進搶票頁面的話,基本可以洗洗睡了 (⊙﹏⊙)

二、哪些地方還有餘票?

現在我們知道搶票的激烈程度已經到30秒定生死的地步,下面我們來看看30秒時還有哪些城市有餘票。

將起售30秒時各站點的余票情況反映到地圖上,顏色越綠表示余票越多,紅點表示余票數量<10張。

起售30秒余票地圖(含無座)

從所有車次(含無座)的余票地圖中可以看到:

a. 全國大部分地區還有餘票;

b.沒有餘票的27城市主要集中於東部地區,占樣本城市總數的12%;

那麼,傳說中的中西部地區票難買為什麼在圖中看不出來呢?

我們進一步考慮,由於中西部地區距離北京較遠,乘客普遍希望買到一張坐票或者卧鋪票,而不想站20多個小時回家。

於是我們進一步篩選出起售30秒後,有座車次的余票情況(見下圖)。

三、「有無座位」是隱藏在余票下的關鍵因素

起售30秒余票地圖(有座)

畫出有座車次的分布圖後,能夠明顯看出:

a. 30秒內售罄的有座車次迅速增加,有66個城市的有座票在半分鐘內就被搶光,占樣本城市總數的28%。

b. 中西部地區有座余票急劇下降,其中北京去往青海省的所有車次在半分鐘內即售罄。

想買到車票並不難,難的是買到一張不用一路站著回家的車票。

那麼,高鐵動車的搶票情況會不會好一些呢?本著嚴謹求實的態度,我們繼續繪製了高鐵、動車、城際列車在起售30秒後的余票情況(見下圖)。

四、高鐵動車、城際列車搶票壓力更大

放票30秒余票地圖(G,C,D開頭車次)

高鐵,城際列車,動車的搶票激烈程度,絲毫不亞於普通列車:

a. 除京津冀地區的余票相對充足外,其餘七十餘個城市的高速鐵路班次幾乎也是在半分鐘之內一售而空。

b. 由激烈程度可以判斷,乘客購票的意向排序為:高鐵動車>有座>無座。

隨著生活水平的提高和高速鐵路網的快速擴張,人們對於高鐵動車的認可度越來越高。希望以更快捷、舒適的方式回家的美好生活需求,與春運期間一票難搶的不平衡不充分發展之間的矛盾仍存在。

五、幾線城市最難搶到票?

那麼從北京去往幾線城市的票最難買呢?我們對去往各線城市的車票30秒內的售罄比進行了統計。

(關於城市分級至今沒有官方的定論,我們這裡借鑒了第一財經2017年對中國所有城市做的一至五線的劃分)

a. 從城市等級上看,從北京到其他一線城市(上海、深圳、廣州)的票十分充裕,去往這些地方的小夥伴完全不用參與春運搶票大軍。

b. 從北京去往二線城市的票相對也較為容易,雖然有少部分距離較遠(如成都、重慶等)或承擔重要交通樞紐任務(如徐州、蘇州等)的二線城市票賣的塊,但搶票激烈程度相對較小。

c. 真正搶票壓力最大的,是去往三線至五線城市的有座車次,這些城市中的1/3都會在開售30秒後余票為0.

果果說

春運去往三至五線城市的高鐵動車票和遠距離的有座/卧車票最難搶,這類票在起售30秒後,30%的班次都被售空!(。-`ω′-)


-- 數據採集說明 --

數據來源: 12306.cn

站點和起售時間:

北京西(8:30),北京(10:00),昌平北(12:00),北京南(12:30),北京東(16:00)

選擇從以上站點發往全國233個城市,共512趟列車的余票數據。採集時間點為起售開始30s。

技術實現細節將在後續文章中發出,請關注微信公眾號「果果數據」 O(∩_∩)O

往期文章:

小六六:使用Python做中文分詞和繪製詞雲zhuanlan.zhihu.com圖標小六六:如何使用python做中文情感分析zhuanlan.zhihu.com圖標小六六:東北在衰退嗎?以遼寧經濟為例的數據分析zhuanlan.zhihu.com圖標
推薦閱讀:

想找一份數據分析師的工作該做什麼準備?
下列圖表可以說明全球變暖是因為海盜減少而引起的么?
數據清洗的一些梳理
如何看待yandex開源clickhouse這個列式文檔資料庫?
泰坦尼克號生存率預測——R語言

TAG:Python | 数据分析 | 可视化 |