diff options
| author | Max | 2018-02-06 00:35:39 +0100 |
|---|---|---|
| committer | Max | 2018-02-06 00:35:39 +0100 |
| commit | 71950479fbd6088f249e5fda3b180f294d1d745d (patch) | |
| tree | 06f360a7e02b7e0011bda815fa102ec54ae8d0ec /crawler/shop_rumundco.go | |
| parent | 13a807854bf4d0258723ec3152b217ed4cf8e051 (diff) | |
| download | alkobote-71950479fbd6088f249e5fda3b180f294d1d745d.tar.gz | |
Moves crawler to designated directory.
Diffstat (limited to 'crawler/shop_rumundco.go')
| -rw-r--r-- | crawler/shop_rumundco.go | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/crawler/shop_rumundco.go b/crawler/shop_rumundco.go new file mode 100644 index 0000000..ae349f3 --- /dev/null +++ b/crawler/shop_rumundco.go @@ -0,0 +1,62 @@ +package main + +import ( + "log" + "regexp" + "strings" + + // "github.com/PuerkitoBio/goquery" + "github.com/gocolly/colly" +) + +func ScrapeRumundCo(shop Shop) []Angebot { + Whiskys := []Angebot{} + + c := colly.NewCollector( + colly.AllowedDomains("rumundco.de"), + colly.AllowedDomains("www.rumundco.de"), + ) + + c.OnHTML(".product-teaser", func(e *colly.HTMLElement) { + W := Angebot{} + + whisky_name := strings.TrimPrefix(e.ChildAttr("img", "alt"), "Restposten: ") + whisky_url := "https://www.rumundco.de/" + e.ChildAttr("a", "href") + + matched, err := regexp.MatchString("verfügbar", e.ChildText(".delivery-status")) + if err != nil { + log.Fatal(err) + } + if !matched { + return + } + + W.Name = whisky_name + W.Url = whisky_url + + e.ForEach(".price_wrapper", func(i int, e *colly.HTMLElement) { + regular_price := e.ChildText("del.value") + if "" == regular_price { + return + } + W.Original_price, err = sanitize_price(regular_price) + if err != nil { + log.Fatal(err) + } + W.Discounted_price, err = sanitize_price(e.ChildText(".price-value")) + if err != nil { + log.Fatal(err) + } + }) + W.Image_url = "https://www.rumundco.de/" + e.ChildAttr("img", "src") + + W.Shop = shop.Id + W.Spirit_type = "Whisky" + + Whiskys = append(Whiskys, W) + }) + + c.Visit("https://www.rumundco.de/navi.php?q=4&kf=29&kk-suesse-von=0&kk-suesse-bis=100&kk-milde-von=0&kk-milde-bis=100&kk-wuerze-von=0&kk-wuerze-bis=100&kk-frucht-von=0&kk-frucht-bis=100&kk-torf-von=0&kk-torf-bis=100&hf=0&af=90&Sortierung=11&a=350") + + return Whiskys +} |
