1. 程式人生 > >我用Python把雙色球的網站“黑”了!下個1.5億大獎會是我嗎?

我用Python把雙色球的網站“黑”了!下個1.5億大獎會是我嗎?

本篇主要介紹爬取500彩票網,獲取所有雙色球的開獎結果,寫入到csv檔案。

我用Python把雙色球的網站“黑”了!下個1.5億大獎會是我嗎?

 

我用Python把雙色球的網站“黑”了!下個1.5億大獎會是我嗎?

 

(1) 分析標題

通過分析,發現標題資訊在如下地方顯示:

 

我用Python把雙色球的網站“黑”了!下個1.5億大獎會是我嗎?

 

 

進群:548377875  即可獲取小編精心準備的資料呢!如有需要原始碼請單獨私信!

(2) 分析開獎號碼

通過分析,發現開獎號碼在如下地方顯示:

我用Python把雙色球的網站“黑”了!下個1.5億大獎會是我嗎?

 

(3) 分析往期開獎結果url

通過分析,發現網頁是通過一個下拉選單,選擇相應的期號,會自動跳轉對應的網站。

網站規律就是http://kaijiang.500.com/shtml/ssq/+"期號"+.shtml

我用Python把雙色球的網站“黑”了!下個1.5億大獎會是我嗎?

 

2、思路分析

先提取網頁資料,用Beautiful Soup從網頁抓取資料,然後通過正則表示式,提取想要的資料。

3、程式碼:

import requests
from bs4 import BeautifulSoup
import re
#獲取網頁資料,偽裝成瀏覽器
def gethtml(url):
 headers = {
 "Use-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) Apple
WebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
 }
 req = requests.get(url,headers = headers)
 req.encoding = "GBK"
 html = req.text
 bf = BeautifulSoup(html, "html.parser")
 return bf
#爬取標題
def gettitle(html):
 titlehtml = html.find_all("td", class_="td_title01")
 titletxt = str(titlehtml).strip()
 p1 = r'shtml">(.*?)<f.*?<strong>(.*?)</strong>.*?</font>(.*?)</a>
.*?right">(.*?)</span>'
 titles = re.compile(p1, re.S).findall(titletxt)
 qi = list(titles[0])
 qi[2] = ('期')
 return ''.join(qi)
#爬取紅色球
def getred(html):
 redhtml = html.find_all("li", class_="ball_red")
 redtxt = str(redhtml).strip()
 p1 = r'red">(.*?)</li>'
 reds = re.compile(p1, re.S).findall(redtxt)
 return '紅球:' + ' '.join(reds)
#爬取藍色球
def getbule(html):
 bulehtml = html.find_all("li", class_="ball_blue")
 buletxt = str(bulehtml).strip()
 p1 = r'blue">(.*?)</li>'
 bules = re.compile(p1, re.S).findall(buletxt)
 return '藍球:' + ' '.join(bules)
#獲取所有url
def getlistnum(html):
 listnumhtml = html.find_all("span", class_="iSelectBox")
 p1 = r'href="(.*?)">'
 listnums = re.compile(p1, re.S).findall(str(listnumhtml))
 return listnums[1:]
url = 'http://kaijiang.500.com/shtml/ssq/18131.shtml'
def main():
 html = gethtml(url)
 htmlurls = getlistnum(html)
 for htmlurl in htmlurls:
 ssqhtml = gethtml(htmlurl)
 a = gettitle(ssqhtml)
 b = getred(ssqhtml)
 c = getbule(ssqhtml)
 #寫入txt檔案
 with open(r'D:.txt','a') as f:
 print(htmlurl)
 f.write(a + '
'+ b + '
'+ c + '
')
 f.close()
if __name__ == "__main__":
 main()

程式碼自行拿去用吧!輸出檔案:

 

我用Python把雙色球的網站“黑”了!下個1.5億大獎會是我嗎?

 

 

到此結束!需要原始碼請後臺私信小編即可哦!