# 数据采集第1课：上币信息采集

By [DFarm](https://paragraph.com/@dfarm) · 2021-10-30

---

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

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

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

教程
--

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

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

![币安官方推特](https://storage.googleapis.com/papyrus_images/0ed4b012e7338726279c3b7144e8d3105af0cdd1b20339780b4b0326114ce575.png)

币安官方推特

![币安官方电报通知群](https://storage.googleapis.com/papyrus_images/ce617cbc93c4795194f1b49f9a9391301740f7a24d4db53be228c47969dd6eff.png)

币安官方电报通知群

![币安官方公告](https://storage.googleapis.com/papyrus_images/57f2c28b49e7b631170fb2efb332792b259b15af2a741af2e16e2501274d0149.png)

币安官方公告

![币安官方API接口](https://storage.googleapis.com/papyrus_images/2e0e7f112572259e04cb80a71cc568c8117bc666496d9147e504aa70c624b0a9.png)

币安官方API接口

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

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

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

![币安英文公告](https://storage.googleapis.com/papyrus_images/2080222efcd734eef326202b7a99d33b7f966429b9f2d92b1ace8856c7311f80.png)

币安英文公告

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

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

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

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

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

![](https://storage.googleapis.com/papyrus_images/787f192f03723d097859a76c0b60f04dbc505c9f6ae166f8a65ec841bdee3c50.png)

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

![](https://storage.googleapis.com/papyrus_images/b569ad803fd19dd7bedf5df7a7b0838b9a2963e4bf70edf96c1d0bec94e22228.png)

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

Binance Adds {} Binance Futures Will Launch {}

等等…

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

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

最后
--

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

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

---

*Originally published on [DFarm](https://paragraph.com/@dfarm/1)*
