国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python分析彩票記錄并預測中獎號碼過程詳解

Python分析彩票記錄并預測中獎號碼過程詳解

2021-08-05 00:42上海小胖 Python

這篇文章主要介紹了Python分析彩票記錄并預測中獎號碼過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

0 引言

上周被一則新聞震驚到了,《2454萬元大獎無人認領!福彩史上第二大棄獎在廣東中山產生 》,在2019年5月2日開獎的雙色球中,廣東中山一位彩民博中2454萬元,兌獎時間截至2019年7月1日。

令人遺憾的是,中獎者最終未現身領獎,2454萬元大獎成為棄獎。經中山市福彩中心查證,這是中國福彩史上金額第二大的棄獎。根據《彩票管理條例實施細則》的有關規定,這次的2454萬元棄獎獎金將被納入彩票公益金。

一直在為福彩做貢獻的我,啥時候能攤上這樣的好事啊。于是我用Python生成了一組雙色球的號碼……

1 環境

操作系統:Windows

Python版本:3.7.3

2 需求分析

隨機生成一組雙色球的號碼,我們可以借助random函數,如下:

  1. import random
  2.  
  3. def ball():
  4. ball_list=[]
  5. while 1:
  6. a=random.randint(1,33)
  7. if a not in ball_list:
  8. ball_list.append(a)
  9. if len(ball_list)==6:
  10. break
  11.  
  12. ball_list.sort()
  13. ball_list.append(random.randint(1,16))
  14. print(ball_list)
  15.  
  16. ball()

但要知道,這么搞的話,絲毫不會有什么中獎的,因為太隨機了……

經歷過高考的人,肯定都知道三年模擬五年高考。要知道彩票中獎概率很低的,所以我們在這里先分析下歷年的數據,借助往年的數據來“精準”地推算下一期中獎號碼。

我們通過這個網站來查詢彩票的歷史開獎信息。

http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html

我們點擊下一頁,看看網址鏈接是否有規律

http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html

http://kaijiang.zhcw.com/zhcw/html/ssq/list_2.html

http://kaijiang.zhcw.com/zhcw/html/ssq/list_3.html

http://kaijiang.zhcw.com/zhcw/html/ssq/list_4.html

http://kaijiang.zhcw.com/zhcw/html/ssq/list_5.html

不難發現,可以將目標網址拆分如下:

url_part = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list'
url = url_part + '_' + str(i) + '.html'
而 i 對應的正好是頁碼信息,我們借助

記錄下這里的元素信息。

接下來,我們需要抓取每一頁中的具體開獎信息。我們繼續通過開發者工具分析出每期開獎信息。

我們依次記錄下每期的開獎日期對應的元素信息:

開獎的批次對應的元素信息:

中獎號碼對應的元素信息:

有了這些元素信息之后,接下來就是代碼的具體實現。

3 代碼實現

在這里,我們獲取網頁的請求使用 requests 模塊;解析網址借助 beautifulsoup4 模塊。因為都是第三方模塊,如環境中沒有可以使用 pip 進行安裝。

  1. pip install requests
  2. pip install beautifulsoup4
  3. pip install lxml

模塊安裝好之后,進行導入

  1. import requests
  2. from bs4 import BeautifulSoup

我們需要先在首頁中,拿到頁數信息

  1. # 發起請求
  2. basic_url = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html'
  3. headers = {
  4. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
  5. }
  6. response = requests.get(basic_url, headers=headers, timeout=10)
  7. response.encoding = 'utf-8'
  8. htm = response.text
  9.  
  10. # 解析內容
  11. soup = BeautifulSoup(htm, 'html.parser')
  12.  
  13. # 獲取頁數信息
  14. page = int(soup.find('p', attrs={"class": "pg"}).find_all('strong')[0].text)

接下來,我們就可以根據規律組裝好我們的URL:

  1. url_part = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list'
  2.  
  3. for i in range(1, page+1):
  4. url = url_part + '_' + str(i) + '.html'

拿組裝后的url發起請求,并獲取每頁中各期的開獎信息:

  1. res = requests.get(url, headers=headers, timeout=10)
  2. res.encoding = 'utf-8'
  3. context = res.text
  4. soups = BeautifulSoup(context, 'html.parser')
  5.  
  6. if soups.table is None:
  7. continue
  8. elif soups.table:
  9. table_rows = soups.table.find_all('tr')
  10. for row_num in range(2, len(table_rows)-1):
  11. row_tds = table_rows[row_num].find_all('td')
  12. ems = row_tds[2].find_all('em')
  13. result = row_tds[0].string +', '+ row_tds[1].string +', '+ems[0].string+' '+ems[1].string+' '+ems[2].string+' '+ems[3].string+' '+ems[4].string+' '+ems[5].string+', '+ems[6].string
  14. print(result)

這樣,我們就完成了對每一頁中各期開獎數據的獲取。獲取的數據可以保存在本地。

  1. def save_to_file(content):
  2. with open('ssq.txt', 'a', encoding='utf-8') as f:
  3. f.write(content + '\n')

我們在獲取每期的開獎數據的同時,記錄下紅藍球出現的號碼信息。

# 定義兩個變量, 用于記錄歷史開獎信息中的紅球、藍球號碼信息

  1. # 定義兩個變量, 用于記錄歷史開獎信息中的紅球、藍球號碼信息
  2. red_num = []
  3. blue_num = []
  4.  
  5. red_num.append(ems[0].string) # 紅色球1
  6. red_num.append(ems[1].string) # 紅色球2
  7. red_num.append(ems[2].string) # 紅色球3
  8. red_num.append(ems[3].string) # 紅色球4
  9. red_num.append(ems[4].string) # 紅色球5
  10. red_num.append(ems[5].string) # 紅色球6
  11. blue_num.append(ems[6].string) # 藍色球

統計出各個號碼出現次數信息:

  1. red_count = Counter(red_num)
  2. blue_count = Counter(blue_num)

接下來我們可以根據紅藍號碼出現的頻率進行排序,并推測出幾組雙色球號碼信息:

  1. # 按照出現頻率順序
  2. red_sorted = sorted(red_count.items(), key=lambda x: x[1], reverse=False)
  3. blue_sorted = sorted(blue_count.items(), key=lambda x: x[1], reverse=False)
  4.  
  5. red = red_sorted[0:6]
  6. blue = blue_sorted[0:3]
  7.  
  8. red = list(map(lambda x:x[0], red))
  9. blue = list(map(lambda x:x[0], blue))
  10.  
  11. red.sort()
  12. blue.sort()
  13.  
  14. print('號碼高頻-1注:'+str(red)+' | '+blue[0])
  15. print('號碼高頻-2注:'+str(red)+' | '+blue[1])
  16. print('號碼高頻-3注:'+str(red)+' | '+blue[2])

當然了,也可以輸出反序輸出,中獎號碼出現頻率較低的幾組,只需要設置 reverse=True 即可。

4 后記

這里根據藍色球各號碼出現的次數,作了張直方圖,可以很直觀到藍色球各號碼出現的頻率。

有人會問了,這樣預測出的中獎號碼,中獎概率究竟有多大呢?

這個,我可說不清楚,只有買了才會知道……小心錯過一個億喲!

好了,以上就是本篇全部內容。

本文全套代碼已上傳至Github:https://github.com/MiracleYoung/You-are-Pythonista/tree/master/PythonExercise/Tool/SSQ_Predict/

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/moonhmily/p/11155066.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一级片在线 | 日韩精品一二三区 | 99视频精品 | 国产一区二区三区欧美 | 日韩欧美国产精品 | 国内精品视频 | 欧美日本韩国一区二区三区 | 国偷自产av一区二区三区 | 亚洲乱码国产乱码精品精软件 | 日韩一区二区免费视频 | 大毛片| 视频在线一区二区 | 亚洲的天堂 | 欧美精品成人一区二区三区四区 | 成人免费黄色片 | 欧美日韩国产影院 | 久久久久久亚洲精品中文字幕 | 精品一区二区久久 | 日韩欧美视频免费观看 | 亚洲一区视频 | 一级毛片免费看 | 中文字幕在线视频观看 | 成人精品视频99在线观看免费 | 亚洲欧美日韩系列 | 中文字幕第18页 | 一区二区三区无码高清视频 | 精精国产xxxx视频在线播放 | 国产高清久久久 | 91精品国产91久久久久久 | 欧美日韩中文在线观看 | 一区二区三区在线观看视频 | 婷婷狠狠| 日韩一二区视频 | 国产精品自拍在线观看 | 亚洲天堂一区 | 国产精品久久久久久久久 | 日韩精品网站 | 在线看黄网站 | 青青草成人在线 | 女男羞羞视频网站免费 | 色视频在线看 |