Go语言爬虫实战:使用Goquery提取图片链接

在网络数据采集过程中,我们经常需要从网页中提取图片链接。本文将介绍如何使用Go语言的 Goquery 库来实现这一目标,并以萌娘百科的雪狐桑页面(https://zh.moegirl.org.cn/%E9%9B%AA%E7%8B%90%E6%A1%91)为例进行演示。

1. 安装 Goquery

首先,我们需要安装 Goquery 库。可以使用以下命令进行安装:

go get github.com/PuerkitoBio/goquery

2. 编写代码

接下来,我们将编写一个简单的Go程序来提取网页上的图片链接。

package main

import (
    'fmt'
    'log'

    'github.com/PuerkitoBio/goquery'
)

func main() {
    // 访问目标网站
    doc, err := goquery.NewDocument('https://zh.moegirl.org.cn/%E9%9B%AA%E7%8B%90%E6%A1%91')
    if err != nil {
        log.Fatal(err)
    }

    // 使用选择器定位目标图片标签
    doc.Find('img.infobox-image').Each(func(i int, s *goquery.Selection) {
        // 提取图片链接
        imgSrc, exists := s.Attr('data-lazy-src')
        if exists {
            fmt.Printf('图片 %d: %s\n', i+1, imgSrc)
        }
    })
}

代码解析

  • 首先,我们使用 goquery.NewDocument 函数创建一个新的文档对象,并传入目标网页的URL。
  • 然后,我们使用 doc.Find('img.infobox-image') 选择器定位到所有class为'infobox-image'的img标签。
  • 接着,我们使用 Each 函数遍历所有匹配的图片标签。
  • Each 函数内部,我们使用 s.Attr('data-lazy-src') 提取图片的 data-lazy-src 属性值,即图片链接。
  • 最后,我们将提取到的图片链接打印到控制台。

3. 运行程序

保存代码并运行,你将会在控制台看到所有class为'infobox-image'的img标签的 data-lazy-src 属性值,也就是目标图片的链接。

总结

本文介绍了如何使用Go语言的 Goquery 库来提取网页上的图片链接。通过简单的代码,我们可以轻松地实现这一目标。当然,Goquery 的功能远不止于此,你可以使用它来提取网页上的各种信息。

Go语言爬虫实战:使用Goquery提取图片链接

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

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