diff options
Diffstat (limited to 'whiskysitenl.go')
| -rw-r--r-- | whiskysitenl.go | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/whiskysitenl.go b/whiskysitenl.go index dcca681..3eefc06 100644 --- a/whiskysitenl.go +++ b/whiskysitenl.go @@ -1,7 +1,6 @@ package main import ( - "fmt" "log" "regexp" "strings" @@ -9,7 +8,9 @@ import ( "github.com/gocolly/colly" ) -func ScrapeWhiskysitenl() { +func ScrapeWhiskysitenl() []Angebot { + Whiskys := []Angebot{} + c := colly.NewCollector( colly.AllowedDomains("whiskysite.nl"), colly.AllowedDomains("www.whiskysite.nl"), @@ -17,10 +18,14 @@ func ScrapeWhiskysitenl() { c.OnHTML(".product-block", func(e *colly.HTMLElement) { + W := Angebot{} + whisky_name := e.ChildAttr("img", "alt") whisky_url := e.ChildAttr("a", "href") - log.Println(whisky_name) - log.Println(whisky_url) + + W.Name = whisky_name + W.Url = whisky_url + regular_price := e.ChildText(".price-old") price_discount_noisy := e.ChildText(".product-block-price") r, err := regexp.Compile("[0-9]+(,[0-9]{1,2})") @@ -28,13 +33,27 @@ func ScrapeWhiskysitenl() { log.Fatal(err) } discounted_price := r.FindString(strings.Trim(strings.TrimPrefix(price_discount_noisy, regular_price), "")) - log.Println(discounted_price + "€") - log.Println(strings.TrimPrefix(regular_price, "€") + "€") - log.Println(e.ChildAttr("img", "src")) + W.Original_price, err = sanitize_price(regular_price) + if err != nil { + //log.Println(W.Name, err) + return + } + W.Discounted_price, err = sanitize_price(discounted_price) + if err != nil { + //log.Println(W.Name, err) + return + } + + W.Image_url = e.ChildAttr("img", "src") - fmt.Println("") + W.Shop = "Whiskysite.nl" + W.Spirit_type = "Whisky" + + Whiskys = append(Whiskys, W) }) c.Visit("https://www.whiskysite.nl/en/specials/?limit=100") + + return Whiskys } |
