def getLiveScoreText(iFrameLink): returnText=["","",""] returnText[1]="***\n\n|Team|Score|\n|:---|:---|" soup = returnSoup(iFrameLink) for Table in soup.find_all(class_="desktopPanelContent"): returnText[1]=returnText[1]+HTMLTableToPythonTable(Table)[1]+"\n\n" returnText[2]=returnText[2]+HTMLTableToPythonTable(Table)[2] index=returnText[1].find("|Batsmen|R|B|4s|6s|")+len("|Batsmen|R|B|4s|6s|") finalReturnText=returnText[1][:index]+"\n|:---|:---|:---|:---|:---|"+returnText[1][index:] finalReturnText=finalReturnText + returnText[2] finalReturnText=finalReturnText+"***" return finalReturnText
def returnStatsPerPlayer(player,oppositionTeamName,format): playerId=re.findall('\d+\.html', player)[0] returnString="|" + player + "|" country_codes = { 'afghanistan' : 40, 'australia' : 2, 'bangladesh' : 25, 'bermuda' : 12, 'england' : 1, 'hong kong' : 19, 'india' : 6, 'ireland' : 29, 'netherlands' : 15, 'new zealand' : 5, 'pakistan' : 7, 'scotland' : 30, 'south africa' : 3, 'sri lanka' : 8, 'west indies' : 4, 'zimbabwe' : 9 } formats = { 'tests' : 1, 'odis' : 2, 't20is' : 3, 'test' : 1, 'odi' : 2, 't20i' : 3, } base_url='http://stats.espncricinfo.com/stats/engine/player/' url = base_url+ str(playerId) + "?"+ 'class='+str(formats[format]) +';opposition='+str(country_codes[oppositionTeamName.lower()])+";template=results;type=allround" soup = returnSoup(url) for table in soup.find_all(class_="engineTable"): if table.caption: if table.caption.string=='Career averages': for tableRow in table.find_all(class_="data1"): for tableData in tableRow.find_all("td"): #if ((not (tableData.has_attr("class") or tableData.has_attr("style"))) or tableData.get('class')==["padAst"] or tableData.get('class')==["padDp2"]): if (not (tableData.get("class")==["left"] or tableData.has_attr("style"))): if tableData.string: returnString=returnString+tableData.string+"|" else: returnString=returnString+" |" returnString=returnString+" |" if returnString[-2:]==" |": returnString=returnString[:-2] return returnString
def getLiveScoreText(iFrameLink): returnText = ["", "", ""] returnText[1] = "***\n\n|Team|Score|\n|:---|:---|" soup = returnSoup(iFrameLink) for Table in soup.find_all(class_="desktopPanelContent"): returnText[1] = returnText[1] + HTMLTableToPythonTable( Table)[1] + "\n\n" returnText[2] = returnText[2] + HTMLTableToPythonTable(Table)[2] index = returnText[1].find("|Batsmen|R|B|4s|6s|") + len( "|Batsmen|R|B|4s|6s|") finalReturnText = returnText[ 1][:index] + "\n|:---|:---|:---|:---|:---|" + returnText[1][index:] finalReturnText = finalReturnText + returnText[2] finalReturnText = finalReturnText + "***" return finalReturnText
def readInternationalFixtures(myurl, ciResults): """ The purpose of this function is to extract data from espncricinfo about the current and future matches and store that result in a dictionary. """ soup = returnSoup(myurl) matchDateId = None matchRowId = None rowType = {'id': 'date', 'class': 'match'} # Obtain only the results which are rows in the table allRows = soup.find_all('tr') i = 0 for row in allRows: if 'id' in row.attrs: rowType = "date" elif 'class' in row.attrs: rowType = "match" else: rowType = "" if rowType == "date": if 'id' in row.attrs: (matchDateId, matchDate) = getText(row, 'id') matchRowId = None elif rowType == "match": if 'head_id' in row.attrs and 'class' in row.attrs and str( row['class'][0]) == "ciResults": if row['head_id'] == matchDateId: columns = row.find_all('td') i += 1 ciResults[i] = {} ciResults[i]['Day'] = matchDate[4:] formatColumn(columns, ciResults, i) for link in row.find_all('a'): ciResults[i][ 'Link'] = 'http://www.espncricinfo.com' + link.get('href') return ciResults
def readInternationalFixtures( myurl, ciResults): """ The purpose of this function is to extract data from espncricinfo about the current and future matches and store that result in a dictionary. """ soup = returnSoup( myurl ) matchDateId = None matchRowId = None rowType = {'id':'date', 'class':'match'} # Obtain only the results which are rows in the table allRows = soup.find_all('tr') i=0 for row in allRows: if 'id' in row.attrs: rowType = "date" elif 'class' in row.attrs: rowType = "match" else: rowType = "" if rowType == "date": if 'id' in row.attrs: (matchDateId, matchDate) = getText(row, 'id') matchRowId = None elif rowType == "match": if 'head_id' in row.attrs and 'class' in row.attrs and str(row['class'][0]) =="ciResults": if row['head_id'] == matchDateId: columns = row.find_all('td') i+=1 ciResults[i]={} ciResults[i]['Day']=matchDate[4:] formatColumn (columns,ciResults,i) for link in row.find_all('a'): ciResults[i]['Link']='http://www.espncricinfo.com'+link.get('href') return ciResults