閱讀193 返回首頁    go Python


全棧工程師教你用Python分析福彩,Python是最容易學的編程語言!

1.分析網頁鏈接

1).首先,打開中彩網的福彩3D,查看3D開獎數據

2).我們用chrome瀏覽器,分析一下網站的結構和源碼

1).第一步,準備食材:

食從何來,與炒菜一個道理,首先要準備食材,要抓取到所有3D的開獎記錄,那麼就要獲取到所有開獎頁麵的html源碼,簡單粗暴一點,循環訪問第1頁到第230頁,將所有頁麵的html源碼全部獲取到,示例代碼如下:

輸出的網站源碼為:

其實我們的彩票的數據都隱藏在上麵這個源碼html文件裏麵,下麵我們的主要工作就是解析html文件就可以啦

2).第二步,開火爆炒

用get_3d_html()獲取到的所有頁麵源碼

使用正則表達式從中提取到開獎等數據(開獎日期、開獎期號、開獎號碼)

代碼如下:觀察開獎數據頁麵源碼,要獲取的數據如下圖紅色框內的數據

構造正則:

.?(.?).?(.?).?(.?).?(.?).?(.?)

(u'2017-08-23', u'2017228', u'5', u'3', u'5')

(u'2017-08-22', u'2017227', u'8', u'8', u'5')

(u'2017-08-21', u'2017226', u'9', u'0', u'3')

(u'2017-08-20', u'2017225', u'8', u'0', u'1')

(u'2017-08-19', u'2017224', u'2', u'6', u'5')

(u'2017-08-18', u'2017223', u'7', u'7', u'8')

(u'2017-08-17', u'2017222', u'7', u'3', u'1')

(u'2017-08-16', u'2017221', u'8', u'5', u'7')

(u'2017-08-15', u'2017220', u'2', u'8', u'7')

(u'2017-08-14', u'2017219', u'5', u'1', u'3')

3.把數據寫入表格中

經過上麵幾步,數據已經全部清洗完畢,現在把抓取到的開獎數據保存進excel表格中吧

利用xlwt模塊生產一個表格對象(關於xlwt的用法可以看曆史文章關於Excel表格如何處理|這篇最用心)

先寫一個表格的頭部標題

接著循環把獲取的數據全部寫入表格

最後保存數據

4.找出福彩3d的秘密

上麵的代碼還有2頁的數據,現在我們把頁麵從range(1,3)改成range(1,22),獲取全年的數據,然後分析一下,看看數字背後的秘密:

1.最頻繁出現的數字

1).找出全年數字出現頻率最高的3個數字

2).找出百位數出現頻率最高的3個數字

3).找出十位數出現頻率最高的3個數字

4).找出個位數出現頻率最高的3個數字

全年最火的3個數字: 8 3 9

Most popular nums: [(u'8', 137), (u'3', 136), (u'9', 136)]

百位數最火的3個數字:3 8 1

Top3 in hundreds place: [(u'3', 55), (u'8', 50), (u'1', 45)]

十位數最火的3個數字:7,9,5

Top3 in ten place: [(u'7', 50), (u'9', 47), (u'5', 45)]

個位數最火的3個數字:9,5,8

Top3 in single place: [(u'9', 57), (u'5', 46), (u'8', 46)]

2.每期出現重複數字的概率

利用set()簡單的統計一下就可以了,發現Python分析數據簡直太方便了

全年有133次出現重複數字,近三分之一的概率。謝謝閱讀,此篇轉載菜鳥的文章,如有侵權請聯係小白刪除!數據依舊隻是數據 不能想著這個發財!

最後更新:2017-10-12 13:13:55

  上一篇:go Python做數據分析-簡潔、易讀、強大
  下一篇:go Python必學基礎概念