diff options
-rw-r--r-- | main.go | 29 |
1 files changed, 22 insertions, 7 deletions
@@ -124,28 +124,43 @@ func loadData() { var code string if blockTxt != "" { - if doc, err := htmlquery.LoadURL(listUrl); err != nil { + doc, err := htmlquery.LoadURL(listUrl) + if err != nil { log.Println("url err:", listUrl) return - } else if found, err := htmlquery.QueryAll(doc, blockTxt); err != nil { + } + found, err := htmlquery.QueryAll(doc, blockTxt) + if err != nil { log.Println("block not found", err) return - } else { - code = htmlquery.InnerText(found[0]) } + if len(found) == 0 { + log.Println("No elements found") + return + } + code = htmlquery.InnerText(found[0]) } else { var dst []byte - _, byteCode, _ := fasthttp.Get(dst, string(listUrl)) + statusCode, byteCode, err := fasthttp.Get(dst, string(listUrl)) + if err != nil || statusCode != fasthttp.StatusOK { + log.Printf("HTTP request failed with status code %d\n", statusCode) + return + } code = string(byteCode) } + scanner := bufio.NewScanner(strings.NewReader(code)) for scanner.Scan() { maplist := strings.Split(scanner.Text(), "#") + if len(maplist) < 2 { + log.Println("Invalid data format:", scanner.Text()) + continue // Skip this iteration as the data format is not valid + } shortenMap[maplist[0]] = maplist[1] } - log.Println("urls mapped.") - + log.Println("URLs mapped.") } + func GetBetweenStr(str, start, end string) string { n := strings.Index(str, start) + len(start) if n == -1 { |