封面图

目录

前言

最近不知道为什么痴迷于弄“历史上的今天”API,那么就来跟大家分享一下一路搞过来的心得以及API文档,再给你们康康使用ChatGPT写代码的高级示例

制作过程

数据获取

最开始我是打算直接爬现成的API的,但是发现要么要Key(限制次数),要么不能指定日期(没法一次性全部爬完),就非常地闹心,最后决定去爬维基百科的。

我先让GPT尝试帮我写一个爬虫,结果要么直接没法运行,要么爬到一半直接爬不到了(而且数据也不咋地),最后,我决定,直接自己手动收集、整理数据!

这是一个很大的工程量,你想想,366天啊,我应该是从20号开始(那个时候还是在外地)断断续续搞到今天(25号)才基本完成。注意,是基本完成,而且这个API只有“大事记”的内容。因为有很多比如“[来源请求]”“[1][2][3]”这样的东西,我得手动删掉,并且中间会有一个“XX世纪”,我也得手动删掉,更加严重的是,由于中文维基百科主要都是由大陆外的人编辑的(因为维基百科被墙了),有的湾湾同胞的用词……嗯……不利于中国统一,这种东西要是在国内就直接趋势了,所以我还得大概地过滤含有这些词语的词条,因此进程非常慢。

不过,今天(25号)总算搞完了,那么整体来讲,这个数据应该是2023/8/25之前的,之后的话……看情况更新吧。

写代码!

那么当然啊,我是肯定不会写PHP的,所以这种东西肯定要交给GPT啦~
这次使用GPT是相当的顺利,你可以在此阅读我与GPT的对话:https://sharegpt.com/c/hbzKrMP
当然也可以看下面的图片:

我就不多说了,使用GPT写代码的话,你的需求必须写清楚,要不然你直接丢一句“写一个历史上的今天的API”,肯定不会生成出能直接用的代码。

成功!

那么看上面的图片,你也知道最后成功了。

API文档

此项目还没开源,你可以先用我的。

请求地址:`https://rong6.cn/api/today-in-history <br />请求方式:``Get` <br />返回格式:Text/Json``

请求参数:
| 参数 | 值 | 说明 |
| —- | —- | —- |
| type | text/json | `必填,它将决定返回的是文本还是Json | <br />| sorting | 1/2 | ``选填```,1是正向排序(默认),2是反向排序 |

请求示例(text):

https://rong6.cn/api/today-in-history?type=text&sorting=2

解释:返回的为text,排序为反向排序。

返回示例(仅部分):

2020年:非洲地区根除脊髓灰质炎认证委员会宣布非洲已根除野生脊髓灰质炎(小儿麻痹)病毒。
2012年:美国国家航空航天局的航海家1号成为首个穿越日球层顶并进入星际物质的探测器。
2011年:阿拉伯国家联盟承认利比亚反对派“全国过渡委员会”为利比亚人民唯一合法代表,将恢复利比亚在阿盟的席位。
2010年:苹果董事会宣布,苹果CEO乔布斯辞职,董事会任命前苹果COO库克接任苹果CEO一职。

一些疑问

为什么不能指定日期?

答:怕爬虫。

接下来要做什么?

开源,然后准备搞个缓存,减少服务器压力。(已做)