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)
}
相关推荐
不会写代码的ys9 分钟前
C++复习篇
java·开发语言·c++
开发小程序的之朴11 分钟前
认识安企CMS - 系统概述
nginx·golang·系统架构
雨师@14 分钟前
go语言项目--实例化(图书管理)--005
开发语言·后端·golang
Aspiresky25 分钟前
探索Rust语言之引用
开发语言·后端·rust
天空'之城29 分钟前
Linux 系统编程 10:线程同步
linux·开发语言·系统编程·线程同步
Vect__31 分钟前
Go 数据结构 slice 深度剖析
开发语言·数据结构·golang
想你依然心痛33 分钟前
AtomCode在Python数据科学项目中的使用体验:从数据分析到可视化
开发语言·python·数据分析
满天星830357735 分钟前
【Qt】控件(二) (geometry及与frameGeometry的区别)
开发语言·qt
wabil39 分钟前
【LVGL】滑动切换页面的界面优化实践
开发语言·ios·swift
Esaka_Forever1 小时前
Python 与 JS (V8) 垃圾回收核心区别 + 底层根源分析
开发语言·javascript·jvm