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)
}
相关推荐
豆浆whisky几秒前
Go并发模式选择指南:找到最适合你项目的并发方案|Go语言进阶(19)
开发语言·后端·golang
草莓熊Lotso2 分钟前
《算法闯关指南:动态规划算法--斐波拉契数列模型》--01.第N个泰波拉契数,02.三步问题
开发语言·c++·经验分享·笔记·其他·算法·动态规划
胖咕噜的稞达鸭1 小时前
自定义shell命令行解释器自制
java·开发语言
草莓熊Lotso1 小时前
Git 分支管理:从基础操作到协作流程(本地篇)
大数据·服务器·开发语言·c++·人工智能·git·sql
报错小能手1 小时前
C++异常处理 终极及总结
开发语言·c++
ycydynq4 小时前
自动化验证码实现
爬虫·自动化
tobebetter95276 小时前
How to manage python versions on windows
开发语言·windows·python
9***P3347 小时前
PHP代码覆盖率
开发语言·php·代码覆盖率
CoderYanger8 小时前
优选算法-栈:67.基本计算器Ⅱ
java·开发语言·算法·leetcode·职场和发展·1024程序员节
jllllyuz8 小时前
Matlab实现基于Matrix Pencil算法实现声源信号角度和时间估计
开发语言·算法·matlab