Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
言:
毫無例外,基本上是所有人都有一顆中獎的心,不管是有錢的,還是沒錢的!你們說對嗎?
對于技術人員來說,通過技術分析,可以增加中獎幾率,現使用python語言收集歷史雙色球中獎信息,之后進行預測分析。
萬物皆可分析之--今天為大家帶來的內容,是Python數據分析之獲取雙色球歷史信息的方法。希望大家會喜歡!本次的代碼數據還算湊合,可以參考參考。
說明:采用2016年5月15日獲取的雙色球數據為基礎進行分析,總抽獎數1940次。
初級代碼,有些內容比較繁瑣,有更好的代碼,大家可以分享。
#!/usr/bin/python # -*- coding:UTF-8 -*- #coding:utf-8 #author:levycui #date:20160513 #Description:雙色球信息收集 import urllib2 from bs4 import BeautifulSoup #采用BeautifulSoup import os import re #偽裝成瀏覽器登陸,獲取網頁源代碼
try: post=urllib2.urlopen(req) except urllib2.HTTPError,e: print e.code print e.reason return post.read() #初始化url 雙色球首頁 url='http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html' #===============================================================================
else: return 0 #===============================================================================
#初始化n n=0 #將雙色球數字信息寫入num.txt文件 fp=open("num.txt" ,"w") for div in em_list: emnum1=div.get_text() # print emnum1 text=div.get_text() text=text.encode('utf-8') #print title n=n+1 if n==7: text=text + "\n" n=0 else: text=text + "," fp.write(str(text)) fp.close()
#將num.txt和date.txt文件進行整合寫入hun.txt文件中 #格式如下: #('2017-05-03', '09,12,24,28,29,30,02') #('2017-05-01', '06,08,13,14,22,27,10') #('2017-04-28', '03,08,13,14,15,30,04') # fp01=open("date.txt","r") a=[] for line01 in fp01: a.append(line01.strip('\n')) # print a
if __name__=="__main__": pageNum=getPageNum(url) print pageNum getpagetext=getText(url) print getpagetext
以上就是本文全部內容了!
最后,小編想說一句話:我是一名python開發工程師,整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習,面試寶典,面試寶典,面試寶典。想要這些資料的可以關注小編,并在后臺私信小編:“07”即可領取。
爆竹聲聲辭舊歲,賀歲盈盈滿乾坤。”街上大紅燈籠越掛越多,家家戶戶購置年貨越來越熱鬧,而由成都市人民政府主辦,成都市商務局、成都市文化廣電旅游局聯合承辦“過節耍成都·尋找最年味”評選活動也隨著年味漸濃火熱進行中。
此次評選由全市22個區(市)縣擇優推選出近百個年味活動,涵蓋民俗節會、旅游節慶、美食購物、文化藝術等多種類別,邀請市民朋友和外地游客“過節耍成都”,感受成都年味。活動自開放網絡投票環節一周以來,已累計收到約46萬張投票,作為對廣大網友的熱情回饋,活動主辦方也聯動22個區(市)縣送出系列年味大禮包,而今日首批中獎用戶也正式揭曉,恭喜昵稱為@維維哥、@孫昌輝、@哈尼等14位幸運用戶獲得此次年味禮包。
感受成都年味最直接的方式,那就是真正品嘗一下“成都味”,此次由成都22個區(市)縣送出的年味大禮包,也自然是以食用特產為主。蒲江縣、新都區和金牛區相繼提供桂花酥桃片、徽記瓜子兒、蒲江米花糖等系列地方特色美食,而簡陽市、溫江區則為大家準備了海底撈火鍋底料及溫江庭院火鍋底料,讓大家感受成都正宗“麻辣年味兒”。青城紅茶、郫縣豆瓣、原生態稻香米、優質豆腐乳……這些由都江堰市、崇州市、邛崍市、郫都區、大邑縣、新津縣等提供的地方優質產品,也定讓大家在過年期間感受舌尖上的過年美味。此外,由彭州市、雙流區提供的紫光檀書簽、貓頭鷹精致裝飾件,以及龍泉驛區提供的蔚然花海、好秾人景區門票,則讓大家得以感受更為多元而豐富的巴蜀年味與天府雅韻。
據了解,“尋找最年味”評選活動從1月15日開始至今,也獲得了廣大市民朋友的廣泛關注與積極參與,拉票投票也是相當積極!截止今日(1月24日)下午2點,大邑縣“2019年安仁民俗文化展演之莊園小姐出嫁”以68122票暫列榜首;溫江區“第十五屆成都國際美食節暨2018美食之都成都火鍋文化月溫江分會場至庭院火鍋節”以59856票暫列第二;金牛區“國際商貿城首屆‘迎春大廟會’”活動以45198票暫居第三;錦江區“‘文化傳承·福慧傳家’主題新春”活動、天府新區“十萬‘豬’福,萌動南湖”活動、都江堰市“萌寶鬧新年天天樂不停,灌縣古城煥新春”活動、邛崍市“崍勁年貨市集”活動、龍泉驛區“龍泉吾悅廣場首屆年貨購物節”活動、都江堰市“2019年民俗鬧春·城鄉大拜年系列文化活動”、彭州市“關口棒棒會(丹景山廟會)”活動暫列第四至第十名。
點擊下方鏈接,還可繼續為心中的“最年味”活動投票打call!此次活動剩余大禮包將在接下來時間分3批次送出,下周獲得區縣年味兒大禮包的幸運兒可能就是你哦!
http://app.cdsb.com/cdsb_wxactivity/index.php/Vote/WVoteZuiSmell2019/index/id/149.html
附:中獎人名單
友情提示,請獲獎者戳鏈接填寫收件地址,大禮包包郵到家!
http://p68y33oym0yri1ue.mikecrm.com/u8gcejo
紅星新聞記者 陳學志 實習生 蘇星
天來寫一個自動計算微博抽獎男女比例的代碼,很早就應該發這篇了,只是不想蹭熱點(才不是拖更)。
整個的過程大概分為三步:
S1:從抽獎公示頁獲取所有中獎者的微博ID
S2:由每個中獎者的微博ID進入其相應主頁,獲得需要的個人信息(性別、粉絲數、微博數等)
S3:對收集到的信息進行相應的匯總分析
接下來一步一步地進行就好了,沒什么難點和需要注意的地方,權當做是一次很小的練手。
首先每次微博抽獎都會有一個公示鏈接。形如:http://event.weibo.com/yae/event/lottery/result?pageid=100140E1204222&id=3538105&f=weibo
其中pageid和id兩個變量就可以定位一次抽獎。
中獎名單每頁公示3個,當你點下一頁的時候會以AJAX方式請求數據。
因此我們只需要請求第一頁以后,獲取獲獎的總人數,然后循環分別獲取其余AJAX請求。
由于鏈接和諧,所以私信小編007即可獲取數十套PDF的獲取方式!
將每個獲獎人的ID放在一個列表里,每次append即可。
在這邊有一點就是,我們必須要在登陸狀態下訪問才可以看到獲獎情況,否則會跳轉登錄頁。解決辦法是帶cookie訪問。無腦加headers和cookies不會有問題。
def lottery(page, pageid, lid): cookies={# your cookies } headers={# copy the headers } params=( ('pageid', pageid), # 100140E1198435 ('id', lid), # 3436763 ('page', page), # 2 ('prizeLevel', '1'), ('_t', '0'), ('__rnd', int(time.time() * 1000)), # 1542650067843 ) response=requests.get('https://event.weibo.com/yae/aj/event/lottery/result', headers=headers, params=params, cookies=cookies) return response.text
我們可以看到AJAX返回的內容是一個JSON,但是這個JSON內的數據卻又沒有那么的友好,并不是我們常見的直接給出了每個用戶的數據字典,而是給了我們一個HTML標簽包裹的代碼塊。也就是說需要進一步的解析,不過好在并不復雜,這里我選擇自己比較熟悉的BS來做,別的解析方法也都可以。
運行代碼,我們便可以得到所有中獎用戶ID組成的一個列表了。
def result(pageid, lid): userid=[] jsonObj=json.loads(lottery('1', pageid, lid)) html=jsonObj['data']['html'] # print(html) bsObj=BeautifulSoup(html, 'lxml') # <span class='lottery_published_gray'>113</span> spans=bsObj.find_all('span', {'class': 'lottery_published_gray'}) count=spans[-1].text n=int(count) // 3 + 1 if n==1: dt=bsObj.find_all('dt') for each in dt: userid.append(each.find('a')['href'].split('/')[3]) print(userid) else: for i in range(1, n + 1): jsonObj=json.loads(lottery(i, pageid, lid)) html=jsonObj['data']['html'] bsObj=BeautifulSoup(html, 'lxml') dt=bsObj.find_all('dt') for each in dt: userid.append(each.find('a')['href'].split('/')[3]) print(userid) return userid
獲取性別要進入到每個用戶的個人信息頁面。在這里我們選擇請求手機版頁面,沒有太多雜亂的頁面結構和廣告,反爬也相對寬松。
還是跟剛才差不多,帶cookies請求頁面就好了。這邊的結構很規范,用XPATH也可以,當然如果我們只取性別的話,正則也是夠用的。其余的信息像是姓名、地區、生日、標簽、簡介等等,大家可以相應地自己實現。
def userInfo(uid): cookies={# your cookies} headers={# copy the headers} response=requests.get('https://weibo.cn/' + uid + '/info', headers=headers, cookies=cookies) h=response.text # print(h) pattern=re.compile(r'性別:(.)') sex=pattern.search(h).group(1) return sex
如此循環得到了所有用戶的性別后,我們只需要統計列表中的男女比例就可以了。
# 大概在300次左右會出現請求失敗。所以如果中間人數特別多的話,還是設置一下延時。
最后就是簡單的數據分析。因為一來數據總量不大,二來我們不打算進行太深入的數據分析,在不考慮存儲的情況下,我們直接使用了列表來存結果。如果要進一步分析,最好還是用字典(JSON)、CSV等方式進行持久化操作。既然是列表存儲的話,我們可以直接用列表的count方法來計算出男女比例。大家也可以結合可視化方法來更直觀地展示結果。
print(usersex.count('女')) print(usersex.count('男'))
最終可以看一下兩次抽獎的結果:
usersex1=['女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '男', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女'] usersex2=['男', '女', '女', '男', '女', '男', '女', '女', '女', '男', '女', '女', '女', '女', '女', '女', '女', '男', '女', '男', '女', '男', '男', '女', '男', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '男', '女', '男', '男', '男', '女', '女', '男', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '女', '男', '女', '女', '男', '女', '女', '女', '女', '女', '女']
第一次抽獎113人中,有112人為女;第二次抽獎67人中,有51人為女。
今天的內容我也為大家錄了一期視頻講解,大家可以點擊原文跳轉觀看,比較適合零基礎的同學學習~
*請認真填寫需求信息,我們會在24小時內與您取得聯系。