From 174101044947edf9c1eed97f965a53be00a80a18 Mon Sep 17 00:00:00 2001 From: Elis Axelsson Date: Wed, 27 Apr 2016 14:57:21 +0200 Subject: [PATCH] Download images --- scraper.go | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/scraper.go b/scraper.go index 72807c4..c59b9fd 100644 --- a/scraper.go +++ b/scraper.go @@ -5,12 +5,19 @@ import ( "fmt" "gopkg.in/gcfg.v1" "os" + "net/http" + "log" + "io" ) func main() { var config WorstCaptcha.Config var twitter WorstCaptcha.Twitter + // Images directory path + dir, _ := os.Getwd() + imageDir := dir + "/images" + // Parse config file if err := gcfg.ReadFileInto(&config, "worstcaptcha.gcfg"); err != nil { fmt.Printf("Config error: %s\n", err) @@ -22,7 +29,28 @@ func main() { // Get images for wordlink, _ := range twitter.GetImages() { - fmt.Println("===================") - fmt.Println(wordlink) + fileName := imageDir + "/" + wordlink.Word + ".jpg" + + response, err := http.Get(wordlink.Link) + if err != nil { + log.Fatal(err) + } + + defer response.Body.Close() + + // Open file for writing + file, err := os.Create(fileName) + if err != nil { + log.Fatal(err) + } + + // Use io.Copy to just dump the response body to the file. This supports + // huge files + _, err = io.Copy(file, response.Body) + if err != nil { + log.Fatal(err) + } + + file.Close() } }