4-golang爬虫下载的代码

golang爬虫下载的代码:

下载程序的借鉴内容:

这个是关于gbk,utf8等相互转换的包

复制代码
github.com/axgle/mahonia"

一、标准下载代码

复制代码
package downloader

import (
	"log"
	"net/http"
	"io"

	"github.com/axgle/mahonia"

	"github.com/go-crawler/car-prices/fake"
)

func Get(url string) io.Reader {
	client := &http.Client{}
	req, err := http.NewRequest("GET", url, nil)
	if err != nil {
		log.Printf("http.NewRequest err: %v", err)
	}

	req.Header.Add("User-Agent", fake.GetUserAgent())
	req.Header.Add("Referer", "https://car.autohome.com.cn")

	resp, err := client.Do(req)
	if err != nil {
		log.Printf("client.Do err: %v", err)
	}

	mah := mahonia.NewDecoder("gbk")
	return mah.NewReader(resp.Body)
}
相关推荐
apcipot_rain4 小时前
C++转Java日记(06)
java·开发语言
SomeOtherTime10 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood11 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青11 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
饮水桶_T15 小时前
JAVA IO流笔记
开发语言·数据结构·算法
Felven17 小时前
C. Brr Brrr Patapim
c语言·开发语言
路溪非溪19 小时前
python标准库使用总结
开发语言·python
SomeOtherTime20 小时前
Rust 面向对象介绍(AI回答)
开发语言·python·rust
zh_xuan21 小时前
kotlin常见面试题
开发语言·kotlin·面试题
草莓熊Lotso1 天前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试