epro...@gmail.com wrote: > > Yes, for my hobby i want extract odds. > > The code is: > > from bs4 import BeautifulSoup > > import urllib2 > > url = > "http://www.betexplorer.com/soccer/england/premier-league-2014-2015/results/" > > content = urllib2.urlopen(url).read() > > soup = BeautifulSoup(content) > > odds = soup.find_all("td", class_="odds") > for odd in odds: > print odd > > And I have this list of object: > > ... > <td class="odds" data-odd="3.70"></td> > <td class="odds" data-odd="3.65"></td> > <td class="odds" data-odd="3.48"></td> > > From this object I'm interesting only 3.70 3.65 3.48 etc > > I'm no a programmer, my hobby is analyze soccer matchs to try to win :-) > I chose python because I think is the best :-) > > Thank you in advance
The interactive interpreter is a good tool to try to access various elements in the "soup": $ python -i yourcode.py # enter the interpreter when your script terminates [snip] <td class="odds" data-odd="3.48"></td> <td class="odds best-betrate" data-odd="2.04"></td> >>> >>> odd <td class="odds best-betrate" data-odd="2.04"></td> >>> odd.attrs["data-odd"] '2.04' If you want to do calculations you have to convert the string to a number first: >>> float(odd.attrs["data-odd"]) 2.04 You probably want the match, too, so it may be better to go for the <tr> elements in the first table: >>> for tr in soup.table.find_all("tr", class_="strong"): >>> ... print tr.find(class_="first-cell").string, ... print float(tr.find(class_="odds").attrs["data-odd"]) ... Aston Villa - Burnley 2.2 Crystal Palace - Swansea 1.81 Hull City - Manchester United 3.1 [snip] -- https://mail.python.org/mailman/listinfo/python-list