DFarm

Posted on Oct 29, 2021Read on Mirror.xyz

数据采集第1课:上币信息采集

根据之前的投票,今天开始一些列教程的编写。我简单梳理了一个课程体系,感觉要讲的东西还是不少,课程体系也没有梳理的很清晰,索性先开始写吧,反正慢慢就会清晰。

课程全程大部分采用Python编写,如果没有Python基础,建议去B站或者其他地方先学习一下。我自认为我讲的数据类型、方法函数这些,远没有网上众多老师教得好,大家可以找到适合自己的课程,学习完基础知识再来看文章。Python是一个非常简单好入门的语言,基础知识入门也只需要几天时间。

关于之后课程的规划回头我专门写一篇文章,今天先从数据采集开始讲一下。

教程

自从各大交易所出海之后,很多币圈自媒体也都纷纷关闭,比如大家常用的某家公众号的上币提醒业务也关闭了。所以大家要看到上币第一时间的信息就比较困难。这里我推荐大家可以自己写一个上币信息推送。

在写代码之前,首先我们要了解上币信息去哪找。我们这节课以币安举例子,我罗列一下我看到的上币信息:

币安官方推特

币安官方电报通知群

币安官方公告

币安官方API接口

上面介绍了4种途径:电报群、官网、官方推特、官方API。

我们仔细观察就会发现,这4种途径发布时间最早的就是官网的公告。时间是10:37分。那么你是不是以为这样就结束了?(最严谨的办法应该是所有路径全部监控,但考虑到成本这里选择最优路径)

其实最早的时候我也以为是这样,知道我观察了早期上线的币种的k线,发现一个问题。很多机器人可以提前一分钟去买币,那么他们又是从哪知道的信息呢?知道最后我发现了这个秘密…

币安英文公告

没错!就是币安的不同语言公告发布的时间是不一样的!中文会慢一点,英文的最快,大家可以去切换语言验证一下。

最后我们得到了一个公告地址:

https://www.binance.com/en/support/announcement/c-48?navId=48#/48

在这个列表里面会有最新的上币信息,下面就可以用代码了。

在写代码前,我们需要装一个库:pip install requests-html

代码比较简单,这里给出的是截图,希望大家还是自己手打一下,并不多。如果你不在大陆或者开启了VPN全局科学上网,可以去掉proxies相关配置。

如果要抓取别的信息也可以照猫画虎,比如:

Binance Adds {} Binance Futures Will Launch {}

等等…

上面上币信息获取其实可以封装成为一个方法,循环一直获取,如果跟上次取的信息不一致就继续,拿到最新的币种发送通知即可。这部分代码这节课就不展示了,算是一个小作业,大家自己写写。

下节课讲一下如何优雅的通知自己。

最后

这一系列的课程在探索中,希望大家多多提出意见和建议~

最近也是想玩好mirror,全力拥抱web 3.0。所以以后争取每周发一篇,欢迎督促~