摘要:收集比賽結果場次先獲得包含和其他信息的隊列賽事類型比賽日期刪除無效的前個數據主隊,客隊勝平負賠率刪除首尾兩個無效數據比分結果以及比分結果賠率形成場次日期唯一裝配結果集更新數據庫內容更新勝平負勝其他平其他負其他更新總進球勝其
收集比賽結果
#encoding:utf-8 import sys import urllib2 import re from bs4 import BeautifulSoup import MySQLdb as mdb reload(sys) sys.setdefaultencoding("utf-8") soup = BeautifulSoup(open("20140830")) #1.場次 #先獲得temp(包含None和其他信息的隊列) scr = [] temp =[] for trs in soup.findAll("tr"): for tds in trs.findAll("td",{"width":"50"}): temp.append(tds.string) lt = len(temp)/4 for i in range(lt): scr.append(temp[4*i+3]) #2.賽事類型 league = [] for item in soup.findAll("tr"): for item1 in item.findAll("td",{"width":"70"}): league.append(item1.string.encode("utf-8")) #3.比賽日期 temp = [] gmdate = [] for item in soup.findAll("tr"): for item1 in item.findAll("td",{"width":"61"}): temp.append(item1) #刪除無效的前3個數據 temp =temp[3:] for item in temp: gmdate.append(re.search("w{4}-w{2}-w{2}",str(item)).group()) #4.主隊,客隊 team=[] for item in soup.findAll("tr"): for teams in item.findAll("a",{"class":"dui"}): team.append(teams.string.strip().encode("utf-8")) #5.勝平負賠率 spfpl =[] temp = [] for trs in soup.findAll("tr"): for tds in trs.findAll("span"): temp.append(tds.string) #刪除首尾兩個無效數據 temp =temp[1:-1] for i in range(len(temp)): for item in temp[7*i+4:7*i+7]: spfpl.append(item) #6.比分結果以及比分結果賠率 bfjg = [] temp = [] for trs in soup.findAll("tr"): for item in trs.findAll("div",{"align":"center"}): for item1 in item.findAll("strong"): bfjg.append(item1.string.encode("utf-8")) #7.形成場次日期唯一id ids=[] for i in range(len(scr)): ids.append(gmdate[i]+"-"+scr[i]) #裝配結果集 res =[] for i in range(len(scr)): res.append(ids[i]) res.append(scr[i]) res.append(league[i]) res.append(gmdate[i]) res.append(team[2*i]) res.append(team[2*i+1]) res.append(spfpl[3*i]) res.append(spfpl[3*i+1]) res.append(spfpl[3*i+2]) res.append(bfjg[2*i]) res.append(bfjg[2*i+1]) #更新數據庫內容 conn=mdb.connect(host="localhost",user="root",passwd="oracle",db="betdb",port=3306) cur = conn.cursor() SQL="insert into results(id,lea,gmd,hos,gue,win,dog,los,res,odd) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)" l =len(res)/10 for i in range(l): for item in res[10*i:10*i+1]: cur.execute(SQL,res[10*i:10*i+10]) i+=1 #更新勝平負 sql_update3="update results set spf=3 where res="1:0" or res="2:0" or res="2:1" or res="3:0" or res="3:1" or res="3:2" or res="4:0" or res="4:1" or res="4:2" or res="5:0" or res="5:1" or res="5:2" or res="勝其他";" sql_update1="update results set spf=1 where res="0:0" or res="1:1" or res="2:2" or res="3:3" or res="平其他";" sql_update0="update results set spf=0 where res="0:1" or res="0:2" or res="1:2" or res="0:3" or res="1:3" or res="2:3" or res="0:4" or res="1:4" or res="2:4" or res="0:5" or res="1:5" or res="2:5" or res="負其他";" cur.execute(sql_update3) cur.execute(sql_update1) cur.execute(sql_update0) #更新總進球 sql_updatezjq0="update results set zjq=0 where res="0:0"" sql_updatezjq1="update results set zjq=1 where res="1:0" or res="0:1"" sql_updatezjq2="update results set zjq=2 where res="2:0" or res="0:1" or res="1:1" or res="0:2"" sql_updatezjq3="update results set zjq=3 where res="3:0" or res="2:1" or res="1:2" or res="0:3"" sql_updatezjq4="update results set zjq=4 where res="4:0" or res="3:1" or res="2:2" or res="1:3" or res="0:4"" sql_updatezjq5="update results set zjq=5 where res="5:0" or res="4:1" or res="3:2" or res="2:3" or res="0:5" or res="1:4"" sql_updatezjq6="update results set zjq=6 where res="5:1" or res="3:3" or res="4:2" or res="2:4" or res="1:5"" sql_updatezjq7="update results set zjq=7 where res="勝其他" or res="負其他"" cur.execute(sql_updatezjq0) cur.execute(sql_updatezjq1) cur.execute(sql_updatezjq2) cur.execute(sql_updatezjq3) cur.execute(sql_updatezjq4) cur.execute(sql_updatezjq5) cur.execute(sql_updatezjq6) cur.execute(sql_updatezjq7)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37366.html
摘要:所以我不得不做的就是把每天的賠率數據導入到我自己的數據庫,根據一定的運算法則,將可能性篩選出來,然后我再做進一步的判斷。 首先,我擁有這個導入賠率的需求,并且,我需要的是所有的數據賠率,我需要把某些臟賠率(極有可能不會出現的賠率,誤導彩迷的賠率)刪除,并且我需要知道這些賠率的比分,刪除這些賠率,可以逆推正確比分以及賠率的區間。 所以我不得不做的就是把每天的賠率數據導入到...
摘要:獲取場次以及分數合集比如比分對應代碼表對應對應勝其他對應平其他對應負其他因此場次和比分結合為,場次信息比分標題勝其他平其他負其他場次比分之后遍歷得到結果集如場次為位數字,第一個為主場比分,中間為冒號,最后一個為客場比分平其他 #encoding:utf-8 import urllib2 from bs4 import BeautifulSoup website = http://ca...
摘要:創建比賽結果數據庫導入結果到導入到數據庫中更新勝負數據插入更新勝場勝其他更新負場負其他更新平局平其他查看更新結果 創建比賽結果數據庫 CREATE TABLE `results` ( `id` char(14) NOT NULL, `scr` char(3) NULL , `lea` char(100) NULL , `gmd` date NULL , `hos` char...
摘要:創建數據庫以及表,并導入數據創建數據庫創建表勝分數比分平負導入數據導入到數據庫中 創建數據庫以及表,并導入數據 --創建數據庫 CREATE DATABASE `data` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; --創建表 --win w 勝 0 分數 1 比分 --draw d 平 --lose l 負 C...
閱讀 2518·2021-09-24 10:29
閱讀 3799·2021-09-22 15:46
閱讀 2571·2021-09-04 16:41
閱讀 2977·2019-08-30 15:53
閱讀 1258·2019-08-30 14:24
閱讀 3052·2019-08-30 13:19
閱讀 2170·2019-08-29 14:17
閱讀 3520·2019-08-29 12:55