package flashscore import ( "fmt" "regexp" "strconv" "github.com/PuerkitoBio/goquery" ) func parseOdds1x2(tableSelection *goquery.Selection) (offers []Winner3Way, err error) { tdList := tableSelection.Find("td.bookmaker") for idx := 0; idx < tdList.Length(); idx++ { //tdList.Each(func(idx int, tdSelection *goquery.Selection) { var offer Winner3Way //.Get(0).Data //.Html() //fmt.Printf("%s\n", txt) //fmt.Printf("%v\n", tdSelection) //tdSelection.Get(0) //tdSelection.Next() tdSelection := tdList.Eq(idx) offer.Bookmaker, err = getBookmaker(tdSelection) if err != nil { return } priceTd := tdSelection.Next() offer.Home, err = getPrice(priceTd) if err != nil { err = fmt.Errorf("get home price: %s", err) return } priceTd = priceTd.Next() offer.Draw, err = getPrice(priceTd) if err != nil { err = fmt.Errorf("get draw price: %s", err) return } priceTd = priceTd.Next() offer.Away, err = getPrice(priceTd) if err != nil { err = fmt.Errorf("get away price: %s", err) return } offers = append(offers, offer) } return } // /bookmaker/17/ var reBookmakerID = regexp.MustCompile(`/bookmaker/(\d+)`) func getBookmaker(tdSelection *goquery.Selection) (bookmakerID int, err error) { aSelection := tdSelection.Find("a") if aSelection.Length() == 0 { err = fmt.Errorf(" tag not found in bookmaker's