package flashscore import ( "fmt" //"io/ioutil" //webspider "spider" //"strconv" //"strings" //"time" "bytes" "github.com/PuerkitoBio/goquery" //"github.com/kr/pretty" //"html" "flashscore/model" ) //var ( // spider *webspider.Spider //) /* err = ioutil.WriteFile("fixtures-unescaped", []byte(content), 0666) if err != nil { return } */ var trsrc = `
1583784000 PL] Leicester Aston Villa 4 : 0 L
` func testParseTr(src string) (err error) { doc, err := goquery.NewDocumentFromReader(bytes.NewBuffer([]byte(src))) if err != nil { return } /* txt, err := doc.Html() if err != nil { return } fmt.Printf("%s\n", txt) trs := doc.Find("tr") fmt.Printf("trs: %d\n", trs.Length()) */ trs := doc.Find(".highlight") for trIdx := range trs.Nodes { var m model.TeamMatch //fmt.Printf("trIdx: %d\n", trIdx) m, err = parseMatchResultTr(trs.Eq(trIdx)) if err != nil { err = fmt.Errorf("parseTr: %s", err) return } fmt.Printf("%v\n", m) fmt.Println() } return } /* */ // cut /* txt, err := first.Html() if err != nil { return } err = ioutil.WriteFile("temp", []byte(html.UnescapeString(txt)), 0666) if err != nil { return } */ // end cut //n := first.Get(0) //fmt.Printf("node: %#v\n\n", txt) /* Всё. Я написал. Парсит следующие страницы: https://www.flashscore.com/football/england/premier-league/fixtures/ - расписание матчей https://www.flashscore.com/match/lUKXoAEo/#h2h;overall - H2H (все 3 вкладки: overall, home, away) https://www.flashscore.com/match/lUKXoAEo/#odds-comparison;1x2-odds;full-time - коэфф. на FullTime 1 x 2 (плюс определяет букмекеров) https://www.flashscore.com/match/Sv4qwtWD/#match-summary - из отчета по матчу достает только счет 1го и 2го тайма */