LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 【重磅分享】0614财富密码(下):我熬夜制作出了Coinbase上币信息监测工具,邀

【重磅分享】0614财富密码(下):我熬夜制作出了Coinbase上币信息监测工具,邀

2020-06-16 人狠话多 来源:区块链网络

我从小就喜欢鼓捣电脑,觉得“写代码让电脑听自己的话”是一件很酷的事情。后来自己通过学习,终于成为了一个野生程序猿

其实,在发布上篇文章之前,我就已经把这个工具基本写完了,后续一直在调试优化。因为“写完”、“能用”、“好用”、“可靠”这四种状态差别还是挺大的,想做到“可靠”非常难,即便是阿里、腾讯这样的企业,也会有Bug、有宕机,更何况我们这些野生程序员单*匹马**的小工具了。我自诩现在这个工具勉强能够达到“好用”标准,所以分享给大家。(是不是有点不谦虚了……)

00

前言

上回说到,Coinbase公布上币信息后,一般都会带来比较可观的上涨效应。历史经验表明,越快布局买入,胜率越大,收益率越高。即便不会写程序交易,能第一时间获知信息然后手动交易也是极好的。(其实在这个案例中,我倒觉得人工核实、手动下单对于新手来说更易操作。)

我上一篇文章写起来很辛苦——英语阅读、查源代码、历史K线、时区转换,但是文章读起来应该还挺容易的吧……没想到一部分币友表示阅读有困难,我好尴尬~~

这次,我就简单介绍一下我的编程思路,仅展示其中部分主要代码。能看懂的肯定知道我在说啥,不会编程的,我录个1小时的视频估计也于事无补。接下来我们就开始吧

01

一、思路与代码

Coinbase如果要上架新币,官方博客https://blog.coinbase.com/是第一手的信息发布渠道。Coinbase的官博并不复杂,而且上币信息的标题用的都是一个句式“XXXXXXX)is/are launching onCoinbase(Pro)”(你可以看看这个网址),我们不需要进行自然语义分析,也不用啥AI,直接检索匹配关键词即可!

现在Python语言非常火,因为它强大、好用。本工具也是由Python制作。

(先这样……再那样……然后……诶~~哎~~吼~~哈~~,就成功了)

打开编辑器,新建文件,引入几个常用的库requests、re、datetime、random……,

先把requests.get 、 headers封装成一个获取目标网页源代码的函数.

然后用浏览器打开https://blog.coinbase.com/,分析其代码结构与特征,尝试request。发现新闻主要有三个部分:①头条图文②中部九宫格新闻③下部列表新闻。一共35条。

其中下部列表新闻是异步加载XHR对象,通过F12抓包,得到其URL为:
https://medium.com/_/api/collections/c114225aeaf7/stream?to={timestamp}&page=4
(注意里面的timestamp时间戳)

由于Coinbase官博的div class很多,层级复杂。我就放弃了beautifulsoup的方法,改用正则表达式匹配

利用前面封装的函数,分别对官博网址和那个异步加载URL进行请求,获得源代码。

unicodedata处理一下编码问题。

然后根据网页代码特征,编写正则表达式,分别匹配①、②、③的内容。随后re.findall,各自生成新闻集合列表。

接下来,就要对每个条目的元素进行整理。

①头条和②九宫格很相似,合为一组。③列表单独作为一组。

通过对每组内的元素进行循环遍历,把其中每一个元素(一条新闻),按照“标题、日期、链接”组合成一个list对象。

其中要把UTC时间字符串/时间戳,转化成本地时间的字符串形式(我分别封装了2个函数)。

接下来,把整理后的①②③三部分合成一个格式统一的大列表(首页所有新闻条目),然后可以把前述的“获取、整理、合并”功能封装成一个函数getWholeList()。

最后,遍历新获取的大列表newList= getWholeList(),看其中每一个元素是否在前一次抓取的大列表(baseList)中出现过。

如果没出现过,那么就认定抓到了刚出炉的新闻

再进一步,如果新条目中的标题字段有launching on Coinbase”,那么这就是我们心心念念的上币信息了。捕捉到新的上币信息,通过API把信息传给钉钉的机器人,机器人将信息发送至钉钉群里(在这个场景下,钉钉更加易用)。群里就会响起警报

(上面使用的钉钉机器人功能是我的老师和学友封装的一个函数,大家也可以使用第三方库DingDingBot)

基本思路和代码就是上面说的那样,还有一些细节:异常处理、生成随机间隔、事件记录、警报格式……我就不一一展示了。请各位大佬指教。(欢迎资深程序员金马老师和鱼叔指教)

怎么样?是不是挺简单的?编程,跟我一起吧!

上面一波讲解和操作对于没有编程基础的人来说,简直是不知所云。即便有了py文件,也还需要先安装python/pycharm/anaconda,然后pip install和Coinbase官博访问的网络问题就会卡住一大波人。其次,监控程序的代码也需要配合着COINBASE官博的改版而修正。另外,这个监测程序需要24小时运行,对电脑的资源占用、寿命损耗、还有风扇的噪音干扰。要避免这些问题,最好再花钱搞个服务器……咦?奇怪的知识怎么越来越多了?

02

二、伸手党免费纯享工具

所以,前两天很多币友问我有没有什么适合小白的简单办法。如我之前剧透过的,这个可以有的!

我自己之前花钱部署了云服务器,程序24小时运行在那里。

币友们加入我的钉钉群(相较于其他APP,钉钉更能胜任这个任务),我的小机器人(憨憨猫)就能24小时为大家服务,可以说是伸手党最爱了。

如果检测到有上币信息,群内会出现消息,下面的是我杜撰的测试信息。

为了增加机器人的实战机会,当前对新发布的普通新闻也会进行提醒,等到机器人高度稳定后可考虑取消。

乐观估计,从Coinbase发布信息到我的机器人发出警报应该不超过10(其实可以调成2秒,但怕被封)。如果你手快的话,从接到警报到你自己下单完成,全程应该不超过2分钟,还挺奶斯的吧~

如果想更加快速布局的话,就需要用程序下单了。那个我也“略懂”一些,但因为需要用户在交易所的API密钥,所以我就不敢提供懒人服务了,怕引发纷争……

不过,我打算下一篇文章介绍程序化下单交易,并公布我的第一笔捐赠。请大家继续关注我吧!

03

三、风险提示暨免责声明

做人呢,最重要的是开心话不能说太满,flag不能立太多,所以接下来是我的风险提示免责声明

投资有风险,入市须谨慎。

新币上架Coinbase的消息放出后,没人敢保证一定上涨。“何时买卖”、“买卖多少”、“在哪交易”都请各位自行决定,自行操作

如果想快速布局买“新上架币”,可能需要在交易所留一些稳定币,而交易所稳定币都可能存在风险。

我在编程方面的能力精力都有限,所以不敢保证机器人一定好用,也不敢保证服务期限。因为Coinbase可能会更改语言习惯、网页源代码或部署反爬机制;我的服务器可能会宕机断网;程序可能会出bug、漏报、错报;钉钉可能会停止服务……

义务提供机器人,各位币友“免费自愿使用”。若机器人效果不佳\影响了投资计划\导致“打新”亏损,我会倾听友善建议,但不接受指责与谩骂

如不认同前述声明,请不要申请机器人服务,免得我们都不愉快。

喷子、杠精、广告党、污言秽语者、节奏带师、人头带师勿扰。

如果你认同前述声明,关注我的公众号(扫二维码,或搜索“王负剑与秦破阵)”,在公众号的对话菜单处点击“机器人”按钮或对话输入“机器人”,获得进群信息,扫码加入钉钉群。

公众号内回复“微信群”,可获取我的微信群二维码。

我的公众号文章最近有热评领红包活动,每个获奖者可领取8.88个USDT


后记

作为一个非全职币友,我写这篇文章(还有代码)用了很长时间。币东老铁们,如果你觉得本篇文章写的还可以或对你有帮助,请点赞、评论、转发、关注四连击~~今后我还会发布有意义/好玩的长文、微文、话题,赶紧pick我吧!

版权声明:

本文插图来自网络,原作者如有异议,可商谈版权事宜。

本文写作不易,如需转载,请规范使用。

利益声明:

本人把这篇帖子发到“DOT币吧”,是因为DOT作为“新兴币”跟本文所谈的Coinbase上币效应关系紧密。本人不持有DOT资产,也暂不评价DOT。(我才不会告诉你,我其实还想要个币吧的徽章呢)

点赞提示:

前两天在币乎反馈群里,官方美丽的鲁毅小姐姐说,币乎计算币友的点赞收益,是按照进入文章页面的先后排列的,而不是点击那个“大拇指”的前后顺序。

所以,一旦进入了我的长文之后,就不必着急了,慢慢看,达成有效阅读,最后结算时实际上的前排赞就是你的,有效阅读时长也是你的,文章内容干货更是你的!岂不美哉?

如果没有有效阅读的话,很可能点赞当时看上去收益挺高,但是过半个小时后,整篇文章的收益可能会一下子折半……

所以说,要记得好好看文哦~

—-

编译者/作者:人狠话多

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...