diff options
Diffstat (limited to 'mcwhisky.go')
| -rw-r--r-- | mcwhisky.go | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/mcwhisky.go b/mcwhisky.go index 142d65a..b50b4e5 100644 --- a/mcwhisky.go +++ b/mcwhisky.go @@ -1,7 +1,6 @@ package main import ( - "fmt" "log" // "strings" @@ -9,30 +8,47 @@ import ( "github.com/gocolly/colly" ) -func ScrapeMCWhisky() { +func ScrapeMCWhisky() []Angebot { + Whiskys := []Angebot{} + c := colly.NewCollector( colly.AllowedDomains("mcwhisky.com"), colly.AllowedDomains("www.mcwhisky.com"), ) c.OnHTML("li.item", func(e *colly.HTMLElement) { - whisky_name := e.ChildAttr("a", "title") + W := Angebot{} + + whisky_name := sanitize_name(e.ChildAttr("a", "title")) whisky_url := e.ChildAttr("a", "href") - log.Println(whisky_name) - log.Println(whisky_url) + W.Name = whisky_name + W.Url = whisky_url + + var err error e.ForEach(".price-box", func(i int, e *colly.HTMLElement) { e.ForEach(".old-price", func(i int, e *colly.HTMLElement) { - log.Println(e.ChildText(".price")) + 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) { - log.Println(e.ChildText(".price")) + W.Discounted_price, err = sanitize_price(e.ChildText(".price")) + if err != nil { + log.Fatal(err) + } }) }) - log.Println(e.ChildAttr("img", "src")) + W.Image_url = e.ChildAttr("img", "src") - fmt.Println("") + W.Shop = "MC Whisky" + W.Spirit_type = "Whisky" + + Whiskys = append(Whiskys, W) }) c.Visit("https://www.mcwhisky.com/whisky/whisky-sonderangebote.html") + + return Whiskys } |
