Created
May 30, 2018 00:48
-
-
Save KentaGoto/8cfe452c50fe57fbff80178ebcd3c65c to your computer and use it in GitHub Desktop.
for Windows.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"bufio" | |
"fmt" | |
"os" | |
"os/exec" | |
"strings" | |
) | |
func wget(urls, log string) { | |
var urlsFile *os.File | |
logFilename := log | |
urlsFile, err := os.Open(urls) | |
if err != nil { | |
panic("Can't open the URL list file.") | |
} | |
scanner := bufio.NewScanner(urlsFile) | |
for scanner.Scan() { | |
url := scanner.Text() | |
// wgetする。log.datにログが残る。 | |
cmd := exec.Command("cmd.exe", "/c", "wget -p -k -nH -np -E --append-output="+logFilename, url) // -r で再帰、-ndでディレクトリを作成しない | |
cmd.Stdout = os.Stdout | |
cmd.Stderr = os.Stderr | |
cmd.Run() | |
} | |
} | |
func main() { | |
var saveDir string | |
var urls string | |
var log = "log.dat" | |
var logFile *os.File | |
// wgetしてくるファイルの保存場所 | |
fmt.Print("Save folder: ") | |
fmt.Scan(&saveDir) | |
os.Chdir(saveDir) // 保存場所に移動する | |
// URLリスト | |
fmt.Print("URL list: ") | |
fmt.Scan(&urls) | |
wget(urls, log) | |
logFile, err := os.Open(log) | |
if err != nil { | |
panic("Can't open the log.dat file.") | |
} | |
logScanner := bufio.NewScanner(logFile) | |
// ログにfailedがあったら出力 | |
for logScanner.Scan() { | |
logText := logScanner.Text() | |
// failedが見つかったら-1以外になる | |
if strings.Index(logText, "failed") != -1 { | |
fmt.Printf("\x1b[31m%s\x1b[0m", "\nError:\n") | |
fmt.Println(logText) | |
} | |
} | |
fmt.Print("\nDone!\n") | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment