首页 > 其他分享 >怎样使用Go语言+NET库搞定饿了么采集

怎样使用Go语言+NET库搞定饿了么采集

时间:2023-11-02 16:36:15浏览次数:40  
标签:搞定 http err url fmt Go return NET resp

怎样使用Go语言+NET库搞定饿了么采集_代理服务器

饿了么是一个集在线外卖、新零售、即时配送和餐饮供应链等业务的一个平台,也是我们日常中使用比较多的一个平台。每次点外卖的时候,那么多的商家,我们要比对价格、看评价,看看到底怎么点餐比较划算,这是一个Go语言的爬虫程序,所以今天,我就使用net库来实现对饿了么内容的采集,方便我们每次对所需要的服务进行对比。一起来看看吧!

```go
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"os"
"strings"
)
func main() {
// 创建一个URL对象来表示要爬取的网站
urlStr := "https://www.ele.me/"
url, _ := url.Parse(urlStr)
// 创建一个ProxyTransport对象来使用代理服务器
proxyURL, _ := url.Parse("http://www.duoip.cn:8000")
proxyTransport := &http.Transport{
Proxy: func(req *http.Request) (*url.URL, error) {
return proxyURL, nil
},
}
// 创建一个HttpClient对象来发送HTTP请求
client := &http.Client{
Transport: proxyTransport,
}
// 发送一个GET请求来获取网页的内容
resp, err := client.Get(urlStr)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
// 读取网页的内容
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
// 将网页的内容打印出来
fmt.Println(string(body))
}
```

以上就是今天要给大家分享的内容,其实都非常简单,主要是代码的可用性上我进行了一些小的优化,大家在使用的时候一定不要生搬硬抄,结合自己实际的需求,进行修改后再用。希望能对大家在日常生活中起到一些帮助。

标签:搞定,http,err,url,fmt,Go,return,NET,resp
From: https://blog.51cto.com/u_14448891/8150013

相关文章

  • ZEGO 教程 | RTC + AI 视觉的最佳实践(移动端)
    ​ ​摘要:帮助开发者在音视频场景中快速获得AI视觉功能——美颜、滤镜、背景抠图等。文|即构 NativeSDK开发团队Z世代作为社会新的消费主力,追求个性、热爱新奇事物,青睐与酷炫新奇的玩法、紧跟娱乐潮流。AI+音视频的结合,作为在音频和视频之外第三个场景玩法创新的支撑点......
  • Go定时任务实现
    定时任务调度是常见的场景,从简单点本地任务调度,到分布式定时任务调度,被广泛的使用。本文汇总了awesome-go里全部的本地定时任务库,并横向对比其实现原理,以及使用场景和优缺点,欢迎收藏随时参考。本文收纳的本地定时任务库如下:onatm/clockwerkwithself/clockworkkr/go-cronro......
  • Go--cron定时任务
    Cron是Go中用于设置定时任务的一个库,需要注意的是,Cron库分两个大版本,v1.2和v3.0,其功能和goget地址都是不同的,注意区分。v1.2官方文档:https://pkg.go.dev/github.com/robfig/cronv3官方文档:https://pkg.go.dev/github.com/robfig/cron/v3区别:v1.2版本默认支持精确到秒的cron......
  • Kubernetes学习笔记-安装
    准备工作操作系统:Centos7.6容器环境:Docker所需工具:kubectl,minikube安装Docker#安装yum工具包yum-yinstallyum-utils#添加yum源yum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#安装docker社区版yuminstalld......
  • 分享一个项目:`learning_go_plan9_assembly`, 学习 golang plan9 汇编
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯近期在学习golangplan9汇编,总算基本做到了手写汇编,并整理了很多笔记。plan9汇编的资料少,难学,难用。可能也有想学习汇编的人会遇到与我一样的问题。于是把笔记进......
  • Delphi使用TNetHTTPClient上传文件java接收测试
    Delphi使用TNetHTTPClient上传文件java接收测试上传客户端新建一个应用,拖入一个TButton按扭,一个TMemo多行文件显示框,一个TNetHttpClient,一个OpenDialog文件打开对话框。双击按扭添加代码  uses  System.Net.Mime;procedureTForm1.Button1Click(Sender:TObject);var......
  • vue3 google浏览器格式化控制台打印的数据
    ......
  • ASP.NET Core Filter
    Filter在ASP.NETCore中允许code在指定的请求阶段前或者后执行。Filter在ASP.NETCore方法请求管道中运行,有时被称作filterpipeline,filterpipeline在ASP.NETCore选择Action执行。 Filter分类每个filtertype在filterpipeline的不同阶段执行。AuthorizationFilter:第一......
  • .NET6 配置 AutoMapper 与 AutoFac
    AutoMapper 概述1、什么是AutoMapper简单来说,AutoMapper就是一个用C#语言开发的一个轻量的处理一个实体对象到另外一个实体对象映射关系的组件库 官网地址:AutoMapper 文档地址:AutoMapper—AutoMapperdocumentation 2、为什么要用AutoMapper层与层之间的数据转换......
  • [ARC159F] Good Division 题解
    [ARC159F]GoodDivision题解首先对于题目要求的划分方式转化一下,转化为划分的每一段都没有绝对众数,可以证明这与题目中的要求是完全等价的,证明如下:充分性:考虑构造一种操作方法,就是每次操作都消去一个出现次数最多的数,按照这样操作可以保证每次操作之后该区间仍然不会出现绝对......