package main import ( "log" "regexp" // "strings" // "github.com/PuerkitoBio/goquery" "github.com/gocolly/colly" ) func ScrapeBottleWord(shop Shop) []Angebot { Whiskys := []Angebot{} c := colly.NewCollector( colly.AllowedDomains("bottleworld.de"), colly.AllowedDomains("www.bottleworld.de"), ) c.OnHTML("li.item", func(e *colly.HTMLElement) { W := Angebot{} whisky_name := e.ChildText("h2 > a") matched, err := regexp.MatchString("Whiske?y", whisky_name) if err != nil { log.Fatal(err) } if !matched { //W.Spirit_type = "Anderes" return } else { W.Spirit_type = "Whisky" } whisky_url := e.ChildAttr("a", "href") W.Name = whisky_name W.Url = whisky_url e.ForEach(".price-box", func(i int, e *colly.HTMLElement) { e.ForEach(".old-price", func(i int, e *colly.HTMLElement) { W.Original_price, err = sanitize_price(e.ChildText(".price")) if err != nil { log.Fatal(err) } }) e.ForEach(".special-price", func(i int, e *colly.HTMLElement) { W.Discounted_price, err = sanitize_price(e.ChildText(".price")) if err != nil { log.Fatal(err) } }) }) W.Image_url = e.ChildAttr("img", "src") W.Shop = shop.Id W.Spirit_type = "Whisky" Whiskys = append(Whiskys, W) }) c.Visit("https://www.bottleworld.de/aktuelle-sonderpreise/show/all") return Whiskys }