def scrapDraws(self): request = urllib2.Request("http://www.thelotter.com/LotteryResultsList.aspx?pageId=7") response = urllib2.urlopen(request) soup = BeautifulSoup(response) data = [] for line in soup.findAll('script'): try: data = utils.grabData(line) except Exception, e: pass
def scrapResult(self, draw): url = "http://www.thelotter.com/LotteryResults.aspx?pageId=7&id=%s" % draw['LotteryId'] request = urllib2.Request(url) response = urllib2.urlopen(request) soup = BeautifulSoup(response) regularBalls = [] additinalBalls = [] bonusBalls = [] for line in soup.findAll('td', { "class":"icon_regularBall ballIcon" }): number = str(line.next.next) regularBalls.append(number) for line in soup.findAll('td', { "class":"icon_additionalBall ballIcon" }): number = str(line.next.next) additinalBalls.append(number) for line in soup.findAll('td', { "class":"icon_bonusBall ballIcon" }): number = str(line.next.next) bonusBalls.append(number) # Add additional prizes information and structured data for regular and aditional balls. draw['structured_result'] = {} draw['structured_result']['regularBalls'] = regularBalls draw['structured_result']['additinalBalls'] = additinalBalls draw['structured_result']['bonusBalls'] = bonusBalls draw['structured_result']['prizes'] = [] for line in soup.findAll('script'): prizes = [] try: prizes = utils.grabData(line) # Clean process of every prize for prize in prizes: for key, value in prize.items(): if (key=='DivisionToDisplay') or (key=='GuessCountToDisplay') or (key=='LocalWinningAmountToDisplay'): parser = HTMLParser.HTMLParser() value = parser.unescape(value) soup = BeautifulSoup.BeautifulSoup(value) value = soup.contents[0].next prize[key] = value.encode('ascii') draw['structured_result']['prizes'] = prizes except Exception, e: pass