可以使用以下步骤来用go程序下载网页中的所有图片:

  1. 使用go的http包发送HTTP请求,获取网页内容。

  2. 使用正则表达式或者HTML解析器解析网页内容,提取出所有图片的URL。

  3. 遍历所有图片的URL,使用go的http包发送HTTP请求,下载图片并保存到本地。

以下是一个简单的示例代码:

package main

import (
    "fmt"
    "io"
    "net/http"
    "os"
    "regexp"
)

func main() {
    // 发送HTTP请求,获取网页内容
    resp, err := http.Get("http://example.com")
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    defer resp.Body.Close()

    // 读取网页内容
    body, err := io.ReadAll(resp.Body)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }

    // 使用正则表达式提取所有图片的URL
    re := regexp.MustCompile(`<img.*?src="(.*?)".*?>`)
    matches := re.FindAllStringSubmatch(string(body), -1)

    // 遍历所有图片的URL,下载图片并保存到本地
    for _, match := range matches {
        imageUrl := match[1]
        resp, err := http.Get(imageUrl)
        if err != nil {
            fmt.Println("Error:", err)
            continue
        }
        defer resp.Body.Close()

        file, err := os.Create(imageUrl)
        if err != nil {
            fmt.Println("Error:", err)
            continue
        }
        defer file.Close()

        io.Copy(file, resp.Body)
        fmt.Println("Downloaded", imageUrl)
    }
}

注意,这个示例代码只是一个简单的示例,实际应用中还需要考虑更多的错误处理、URL去重、并发下载等问题。

怎么用go程序下载网页中的所有图片

原文地址: https://www.cveoy.top/t/topic/bS3z 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录