colly 随机UA标识 下载图片


colly  随机UA标识 下载图片

package main

import (
	"io/ioutil"
	"strings"

	"github.com/gocolly/colly"
	"github.com/gocolly/colly/extensions"
)

func dlImg(uri string) {
	logHelper.Info(uri)
	// https://images.hk/upload/goods/20211127152597926.jpg
	c := colly.NewCollector(
	// colly.UserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3880.400 QQBrowser/10.8.4554.400"),
	// colly.AllowedDomains("foo.com", "bar.com"),
	)
	extensions.RandomUserAgent(c)

	c.OnResponse(func(r *colly.Response) {
		logHelper.Info(r.Request.Headers)
		logHelper.Info(r.StatusCode)
		// logHelper.Info(r.Body)
		bs := r.Body
		fn := func() string {
			l := strings.Split(uri, ".hk/")

			p := "../shop/" + l[1]
			logHelper.Info(l[1], p)
			return p
		}()
		err := ioutil.WriteFile(fn, bs, 0777)
		if err != nil {
			logHelper.Error(err)
		}
	})
	if err := c.Visit(uri); err != nil {
		logHelper.Error(err)
	}

	logHelper.Info("end")
}

func dlImgFromFile(f string) {
	s := rF(f)
	l := strings.Split(s, "\r\n")
	for _, uri := range l {
		// logHelper.Info(uri)
		dlImg(uri)
	}

}