Go语言学习之Go爬虫爬取图片信息

本文介绍了作者在学习Golang过程中,利用Go语言编写的一个并发高效的图片爬虫。通过70行代码,实现了从指定网站抓取图片,并利用goquery解析HTML。文件名采用随机生成的四段+.jpg格式,通过管道管理协程,解决了图片信息爬取不完整的问题。作者作为Go初学者,希望分享自己的学习心得,欢迎指正。
摘要由CSDN通过智能技术生成

在Golang学习过程中,想到以往学习过的语言可以做爬虫,突发奇想,也用Go做了一个爬虫来爬取图片,以做困乏之时消遣作乐,话不多言,先上代码

package main

import (
	"fmt"
	"log"
	"strconv"
	"github.com/PuerkitoBio/goquery" // 解析html
	//"io/ioutil"
	"net/http"
	"os"
	"github.com/satori/go.uuid"    // 生成图片文件名
	"io/ioutil"
)

func getAllUrls() []string {

	var urls []string
	var url string
	for i := 0; i < 2; i++ {
		url = "http://www.meizitu.com/a/more_" + strconv.Itoa(i+1) + ".html"     //网址信息
		urls = append(urls, url)
	}
	return urls
}

func parseHtml(url string)  {
	doc, err := goquery.NewDocument(url)      //获取将要爬取的html文档信息
	if err != nil {
		log.Fatal(err)
	}
	p:=make(chan string)   //新开管道
	doc.Find(".pic > a > img").Each(func(i int, s *goquery.Selection) {    //遍历整个文档

		img_url, _ := s.Attr("src")
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值