用Go语言爬取基金数据(使用MySQL存储)

本文介绍了如何使用Go语言爬取基金网站数据,并将数据存储到MySQL数据库中。首先,从指定基金网站抓取JSON信息,解析出所需字段。接着,定义Go结构体进行数据映射,通过gorm ORM库连接MySQL并创建表,实现数据的入库操作。最后,利用csv库导出统计表格。
摘要由CSDN通过智能技术生成

最近看到了一个Python爬取基金的实现,就心血来潮用Go语言实现了一个类似的版本:
github代码地址

0. 准备工作

  • 选爬取的网站:
    https://danjuanfunds.com/funding/005827?channel=1300100141

  • 用Go语言的http包调用一下

resp, err := http.Get(url)

可以看到返回一个大JSON,然后挑选出里面我们需要的数据

1. 爬取数据

  • 先读取funds.json文件里的基金代码,我们用这个拼到url里面就可以爬取不同的基金数据(crawler/fund_json.go
  • 然后根据上面我们挑选出有用的数据,定义结构体,用于json的反序列化(crawler/crawler.go

重点代码如下:

		resp, err := http.Get(url)
		if err != nil {
   
			return nil, err
		}

		body, err := ioutil.ReadAll(resp.Body)
		if err != nil {
   
			return nil, err
		}

		fundsResp := FundsResp{
   }
		err = json.Unmarshal(body, &fundsResp)
		if err != nil {
   
			return nil, err
		}

2. 存入MySQL

  • 先安装MySQL
  • 建表

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值