|
|
@ -0,0 +1,63 @@ |
|
|
|
package main |
|
|
|
|
|
|
|
import ( |
|
|
|
"bufio" |
|
|
|
"fmt" |
|
|
|
"io" |
|
|
|
"log" |
|
|
|
"net/http" |
|
|
|
"os" |
|
|
|
"strconv" |
|
|
|
) |
|
|
|
|
|
|
|
func main() { |
|
|
|
//http://www.image-net.org/search?q=hotdog
|
|
|
|
savelog() |
|
|
|
//create directory webOutput
|
|
|
|
_ = os.Mkdir("imgs", os.ModePerm) |
|
|
|
readLinks("imagesLinks.txt") |
|
|
|
|
|
|
|
} |
|
|
|
func readLinks(path string) { |
|
|
|
inFile, _ := os.Open(path) |
|
|
|
defer inFile.Close() |
|
|
|
scanner := bufio.NewScanner(inFile) |
|
|
|
scanner.Split(bufio.ScanLines) |
|
|
|
|
|
|
|
var i int |
|
|
|
for scanner.Scan() { |
|
|
|
log.Println(scanner.Text()) |
|
|
|
saveLinkToImg(scanner.Text(), i) |
|
|
|
//log.Println(strconv.Itoa(i) + "/" + strconv.Itoa(nLines))
|
|
|
|
log.Println(i) |
|
|
|
i++ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func countLines(scanner *bufio.Scanner) int { |
|
|
|
var count int |
|
|
|
for scanner.Scan() { |
|
|
|
count++ |
|
|
|
fmt.Println(count) |
|
|
|
} |
|
|
|
return count |
|
|
|
} |
|
|
|
|
|
|
|
func saveLinkToImg(url string, i int) { |
|
|
|
response, err := http.Get(url) |
|
|
|
if err != nil { |
|
|
|
log.Println(err) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
defer response.Body.Close() |
|
|
|
|
|
|
|
//open a file for writing
|
|
|
|
file, err := os.Create("imgs/" + strconv.Itoa(i) + ".png") |
|
|
|
check(err) |
|
|
|
// Use io.Copy to just dump the response body to the file. This supports huge files
|
|
|
|
_, err = io.Copy(file, response.Body) |
|
|
|
check(err) |
|
|
|
file.Close() |
|
|
|
fmt.Println("Success!") |
|
|
|
} |