summaryrefslogtreecommitdiff
path: root/crawler/shop_whiskyworld.go
diff options
context:
space:
mode:
authorMax2018-02-06 00:35:39 +0100
committerMax2018-02-06 00:35:39 +0100
commit71950479fbd6088f249e5fda3b180f294d1d745d (patch)
tree06f360a7e02b7e0011bda815fa102ec54ae8d0ec /crawler/shop_whiskyworld.go
parent13a807854bf4d0258723ec3152b217ed4cf8e051 (diff)
downloadalkobote-71950479fbd6088f249e5fda3b180f294d1d745d.tar.gz
Moves crawler to designated directory.
Diffstat (limited to 'crawler/shop_whiskyworld.go')
-rw-r--r--crawler/shop_whiskyworld.go60
1 files changed, 60 insertions, 0 deletions
diff --git a/crawler/shop_whiskyworld.go b/crawler/shop_whiskyworld.go
new file mode 100644
index 0000000..e07c42f
--- /dev/null
+++ b/crawler/shop_whiskyworld.go
@@ -0,0 +1,60 @@
+package main
+
+import (
+ "log"
+ "strings"
+
+ "github.com/gocolly/colly"
+)
+
+func ScrapeWhiskyworld(shop Shop) []Angebot {
+
+ Whiskys := []Angebot{}
+
+ c := colly.NewCollector(
+ colly.AllowedDomains("whiskyworld.de"),
+ colly.AllowedDomains("www.whiskyworld.de"),
+ )
+
+ c.OnHTML(".product-item", func(e *colly.HTMLElement) {
+
+ W := Angebot{}
+
+ whisky_name_part1 := e.ChildText("h3")
+ whisky_name_part2 := e.ChildText(".item-description")
+
+ W.Name = whisky_name_part1 + " " + whisky_name_part2
+
+ W.Url = "https://www.whiskyworld.de/" + strings.TrimPrefix(e.ChildAttr("a", "href"), "../")
+
+ regular_price_noisy := e.ChildText(".offer")
+ regular_price := strings.TrimSuffix(strings.TrimPrefix(regular_price_noisy, "statt "), " €*")
+
+ var err error
+
+ W.Original_price, err = sanitize_price(regular_price)
+ if err != nil {
+ log.Fatal(err)
+ return
+ }
+
+ W.Discounted_price, err = sanitize_price(e.ChildText(".uvp"))
+ if err != nil {
+ log.Fatal(err)
+ return
+ }
+
+ W.Image_url = "https:" + e.ChildAttr("img", "src")
+
+ W.Shop = shop.Id
+ W.Spirit_type = "Whisky"
+
+ Whiskys = append(Whiskys, W)
+ })
+
+ c.Visit("https://www.whiskyworld.de/themen/sonderangebote?ft=%257B%2522produkt_kategorie%2522:%2522Blended%2BMalt%2522%257D")
+ c.Visit("https://www.whiskyworld.de/themen/sonderangebote?ft=%257B%2522produkt_kategorie%2522:%2522Blended%2BWhiskies%2522%257D")
+ c.Visit("https://www.whiskyworld.de/themen/sonderangebote?ft=%257B%2522produkt_kategorie%2522:%2522Single%2BMalt%2522%257D")
+
+ return Whiskys
+}