From f870700824c9d23ccf6e8bd232ea02b44907f38c Mon Sep 17 00:00:00 2001 From: horus Date: Sat, 10 Feb 2018 13:04:59 +0100 Subject: Crawler extracts volume, price per litre and abv. (Whisky.de) --- crawler/shop_whiskyde.go | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'crawler/shop_whiskyde.go') diff --git a/crawler/shop_whiskyde.go b/crawler/shop_whiskyde.go index de55600..053cc7f 100644 --- a/crawler/shop_whiskyde.go +++ b/crawler/shop_whiskyde.go @@ -52,26 +52,27 @@ func ScrapeWhiskyde(shop Shop) []Angebot { //W.Valid_until = e.ChildText(".article-price-special") }) + text_noisy := e.ChildText(".article-amount") + + abv_noisy := strings.TrimSpace(strings.SplitAfter(text_noisy, "Liter")[1]) + W.Volume, err = extract_volume(text_noisy) + if err != nil { + log.Fatal(err) + } + W.Abv, err = extract_abv(abv_noisy) + if err != nil { + log.Fatal(err) + } + e.ForEach(".article-amount", func(i int, e *colly.HTMLElement) { - text_noisy := e.ChildText("span") - - if strings.Contains("Liter", text_noisy) { - W.Volume, err = extract_volume(text_noisy) - if err != nil { - log.Fatal(err) - } - } else { - W.Abv, err = extract_abv(text_noisy) - if err != nil { - log.Fatal(err) - } - } }) if W.Volume == 0 { - log.Println(W.Name + " kein Volume erkannt") + log.Println("Whisky.de: " + W.Name + " kein Volume erkannt") + return } if W.Abv == 0 { - log.Println(W.Name + " kein Abv erkannt") + log.Println("Whisky.de: " + W.Name + " kein Abv erkannt") + return } W.Shop = shop.Id -- cgit v1.2.3