summaryrefslogtreecommitdiff
path: root/crawler/scrape.go
diff options
context:
space:
mode:
authorMax2018-02-08 01:03:36 +0100
committerMax2018-02-08 01:03:36 +0100
commitddef17e4afc59d614d064c97426e8cedcc6599fc (patch)
tree0fadf49e5bc98b76a4cccf96c35d9165475b08e5 /crawler/scrape.go
parent43fa5257b7d5b0b14131bd684c12a12e10072210 (diff)
downloadalkobote-ddef17e4afc59d614d064c97426e8cedcc6599fc.tar.gz
Better parallelization.
Diffstat (limited to 'crawler/scrape.go')
-rw-r--r--crawler/scrape.go44
1 files changed, 22 insertions, 22 deletions
diff --git a/crawler/scrape.go b/crawler/scrape.go
index 31b3618..6250896 100644
--- a/crawler/scrape.go
+++ b/crawler/scrape.go
@@ -6,32 +6,12 @@ import (
func (app *App) ScrapeHTML(shops []Shop) {
- wait := make(chan int)
+ wait := make(chan bool)
count := 0
for _, shop := range shops {
- go func() {
- var W []Angebot
- var err error
-
- W = ScrapeShop(shop)
-
- W = sanitize_offer(W)
-
- err = app.save_offer(W)
- if err != nil {
- log.Fatal(err)
- }
- err = app.remove_expired(W)
- if err != nil {
- log.Fatal(err)
- }
-
- wait <- 1
-
- }()
-
+ go app.Scrape(shop, wait)
count++
}
@@ -44,6 +24,26 @@ func (app *App) ScrapeHTML(shops []Shop) {
}
}
+func (app *App) Scrape(shop Shop, wait chan bool) {
+ var W []Angebot
+ var err error
+
+ W = ScrapeShop(shop)
+
+ W = sanitize_offer(W)
+
+ err = app.save_offer(W)
+ if err != nil {
+ log.Fatal(err)
+ }
+ err = app.remove_expired(W)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ wait <- true
+}
+
func ScrapeShop(shop Shop) []Angebot {
switch shop.Name {