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)
}
相关推荐
T0uken1 分钟前
【Python】Matplotlib:立体永生花绘制
开发语言·python·matplotlib
sniper_fandc3 分钟前
JVM(Java虚拟机)详解
java·开发语言·jvm
雾削木4 分钟前
mAh 与 Wh:电量单位的深度解析
开发语言·c++·单片机·嵌入式硬件·算法·电脑
__lost6 分钟前
小球在摆线上下落的物理过程MATLAB代码
开发语言·算法·matlab
AI的魔盒9 分钟前
基于Java与MAVLink协议的多无人机(Cube飞控)集群控制与调度方案问题
java·开发语言·无人机
一颗知足的心38 分钟前
Go语言之路————指针、结构体、方法
开发语言·后端·golang
yuanpan1 小时前
C#如何正确的停止一个多线程Task?CancellationTokenSource 的用法。
开发语言·c#
程高兴1 小时前
单相交直交变频电路设计——matlab仿真+4500字word报告
开发语言·matlab
奋斗者1号1 小时前
《Crawl4AI 爬虫工具部署配置全攻略》
网络·爬虫
我真的不会C2 小时前
QT中的事件及其属性
开发语言·qt