分享
golang爬取节假日信息
小塔罗 · · 4029 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
逛博客的时候发现别人提出的一个问题,怎么判断是否为节假日。思考了一会想到了两个解决方案
1.自己记录节假日信息 2.第三方数据接口
自己录制这个直接被我给pass掉了,繁琐还有可能遗失之类的。那么就第三方数据接口这个方案了。
通过百度找到了一个看起来还不错的
https://www.juhe.cn/docs/api/id/177/aid/601
请求参数说明:
| 名称 | 必填 | 类型 | 说明 |
|---|---|---|---|
| key | 是 | string | 您申请的appKey |
| year | 是 | string | 指定年份,格式为YYYY,如:2015 |
返回参数说明:
| 名称 | 类型 | 说明 |
|---|---|---|
| error_code | int | 返回状态码 |
| reason | string | 返回原因 |
| result | string | 返回实体内容 |
| holidaylist | string | 当年假期列表 |
| year | string | 年份 |
免费100次,总的来说非常不错。查看他的参数后开始正式写代码了
首先我使用的是beego的http库
package main
import (
"github.com/astaxie/beego/httplib"
"strconv"
"log"
)
var (
//个人appKey
AppKey = ""
)
func main() {
//从1970年到2070年
for i := 0; i <= 100; i++ {
year := strconv.Itoa(1970 + i) //年份
request := httplib.Get("http://v.juhe.cn/calendar/year?year=" + year + "&key=" + AppKey)
//保存为文件
if err := request.ToFile("data/" + year + ".json"); err != nil {
log.Println(err.Error())
}
log.Println(year + " 成功")
}
}
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信4029 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
逛博客的时候发现别人提出的一个问题,怎么判断是否为节假日。思考了一会想到了两个解决方案
1.自己记录节假日信息 2.第三方数据接口
自己录制这个直接被我给pass掉了,繁琐还有可能遗失之类的。那么就第三方数据接口这个方案了。
通过百度找到了一个看起来还不错的
https://www.juhe.cn/docs/api/id/177/aid/601
请求参数说明:
| 名称 | 必填 | 类型 | 说明 |
|---|---|---|---|
| key | 是 | string | 您申请的appKey |
| year | 是 | string | 指定年份,格式为YYYY,如:2015 |
返回参数说明:
| 名称 | 类型 | 说明 |
|---|---|---|
| error_code | int | 返回状态码 |
| reason | string | 返回原因 |
| result | string | 返回实体内容 |
| holidaylist | string | 当年假期列表 |
| year | string | 年份 |
免费100次,总的来说非常不错。查看他的参数后开始正式写代码了
首先我使用的是beego的http库
package main
import (
"github.com/astaxie/beego/httplib"
"strconv"
"log"
)
var (
//个人appKey
AppKey = ""
)
func main() {
//从1970年到2070年
for i := 0; i <= 100; i++ {
year := strconv.Itoa(1970 + i) //年份
request := httplib.Get("http://v.juhe.cn/calendar/year?year=" + year + "&key=" + AppKey)
//保存为文件
if err := request.ToFile("data/" + year + ".json"); err != nil {
log.Println(err.Error())
}
log.Println(year + " 成功")
}
}