diff --git a/getpage.go b/getpage.go index 414b15d..3575bea 100644 --- a/getpage.go +++ b/getpage.go @@ -5,8 +5,15 @@ import ( "fmt" "net/http" "io" + "strings" ) +func stripurl (url string) string { + res := strings.ReplaceAll(url, "?", "") + res = strings.ReplaceAll(res, "=", "") + return res +} + func getpage (url string, path string) { curl, err := http.Get(url) if err != nil { diff --git a/main.go b/main.go index 7a814c6..5ea02a7 100644 --- a/main.go +++ b/main.go @@ -31,7 +31,8 @@ func main () { return } else { if checkprefix(args[1]) { - exist := checkexist(args[1], cnf.datapath) + eurl := stripurl(args[1]) + exist := checkexist(eurl, cnf.datapath) var confirm string if len(exist) > 0 { fmt.Println("このページが既に保存されているみたいです。") @@ -42,10 +43,9 @@ func main () { fmt.Scanf("%s", &confirm) } if len(exist) == 0 || confirm == "y" || confirm == "Y" { - path := mkdirs(args[1], cnf.datapath) + path := mkdirs(eurl, cnf.datapath) getpage(args[1], path) - // TODO: ページの確認 - scanpage(path, args[1], cnf.datapath) + scanpage(path, eurl, cnf.datapath) fmt.Println(cnf.domain + strings.Replace(path, cnf.datapath, "", 1)) } return diff --git a/scanpage.go b/scanpage.go index 3e1bd8f..c3e6a0e 100644 --- a/scanpage.go +++ b/scanpage.go @@ -5,16 +5,17 @@ import ( "fmt" "strings" "net/http" + "net/url" "io" "regexp" "errors" + "path/filepath" ) func scanpage (path string, domain string, thisdomain string) error { fn, err := os.ReadFile(path + "/index.html") if err != nil { - fmt.Println(err) - return errors.New("ファイルを開けられなかった:") + return err } /* 削除 */ @@ -24,74 +25,131 @@ func scanpage (path string, domain string, thisdomain string) error { var video = regexp.MustCompile(`()`).ReplaceAllString(string(audio), "") var iframe = regexp.MustCompile(`()`).ReplaceAllString(string(video), "") /* 追加ダウンロード+ローカル化 */ - var ass = regexp.MustCompile(`(