上回说到,Coinbase公布上币信息后,一般都会带来比较可观的上涨效应。历史经验表明,越快布局买入,胜率越大,收益率越高。即便不会写程序交易,能第一时间获知信息然后手动交易也是极好的。(其实在这个案例中,我倒觉得人工核实、手动下单对于新手来说更易操作。)
我上一篇文章写起来很辛苦——英语阅读、查源代码、历史K线、时区转换,但是文章读起来应该还挺容易的吧……没想到一部分币友表示阅读有困难,我好尴尬~~
这次,我就简单介绍一下我的编程思路,仅展示其中部分主要代码。能看懂的肯定知道我在说啥,不会编程的,我录个1小时的视频估计也于事无补。接下来我们就开始吧
Coinbase如果要上架新币,官方博客https://blog.coinbase.com/是第一手的信息发布渠道。Coinbase的官博并不复杂,而且上币信息的标题用的都是一个句式“XXXX(XXX)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小时运行,对电脑的资源占用、寿命损耗、还有风扇的噪音干扰。要避免这些问题,最好再花钱搞个服务器……咦?奇怪的知识怎么越来越多了?
所以,前两天很多币友问我有没有什么适合小白的简单办法。如我之前剧透过的,这个可以有的!
我自己之前花钱部署了云服务器,程序24小时运行在那里。
币友们加入我的钉钉群(相较于其他APP,钉钉更能胜任这个任务),我的小机器人(憨憨猫)就能24小时为大家服务,可以说是伸手党最爱了。
如果检测到有上币信息,群内会出现消息,下面的是我杜撰的测试信息。
为了增加机器人的实战机会,当前对新发布的普通新闻也会进行提醒,等到机器人高度稳定后可考虑取消。
乐观估计,从Coinbase发布信息到我的机器人发出警报应该不超过10秒(其实可以调成2秒,但怕被封)。如果你手快的话,从接到警报到你自己下单完成,全程应该不超过2分钟,还挺奶斯的吧~
如果想更加快速布局的话,就需要用程序下单了。那个我也“略懂”一些,但因为需要用户在交易所的API密钥,所以我就不敢提供懒人服务了,怕引发纷争……
不过,我打算下一篇文章介绍程序化下单交易,并公布我的第一笔捐赠。请大家继续关注我吧!
做人呢,最重要的是开心话不能说太满,flag不能立太多,所以接下来是我的风险提示暨免责声明:
投资有风险,入市须谨慎。
新币上架Coinbase的消息放出后,没人敢保证一定上涨。“何时买卖”、“买卖多少”、“在哪交易”都请各位自行决定,自行操作。
如果想快速布局买“新上架币”,可能需要在交易所留一些稳定币,而交易所和稳定币都可能存在风险。
我在编程方面的能力精力都有限,所以不敢保证机器人一定好用,也不敢保证服务期限。因为Coinbase可能会更改语言习惯、网页源代码或部署反爬机制;我的服务器可能会宕机断网;程序可能会出bug、漏报、错报;钉钉可能会停止服务……
我义务提供机器人,各位币友“免费自愿使用”。若机器人效果不佳\影响了投资计划\导致“打新”亏损,我会倾听友善建议,但不接受指责与谩骂。
如不认同前述声明,请不要申请机器人服务,免得我们都不愉快。
喷子、杠精、广告党、污言秽语者、节奏带师、人头带师勿扰。
如果你认同前述声明,关注我的公众号(扫二维码,或搜索“王负剑与秦破阵)”,在公众号的对话菜单处点击“机器人”按钮或对话输入“机器人”,获得进群信息,扫码加入钉钉群。
公众号内回复“微信群”,可获取我的微信群二维码。
我的公众号文章最近有热评领红包活动,每个获奖者可领取8.88个USDT。
后记
作为一个非全职币友,我写这篇文章(还有代码)用了很长时间。币东老铁们,如果你觉得本篇文章写的还可以或对你有帮助,请点赞、评论、转发、关注四连击~~今后我还会发布有意义/好玩的长文、微文、话题,赶紧pick我吧!
版权声明:项目均采集于互联网, 空投币 无法审核全面,且希望大家能赚钱,请谨慎切勿上当受骗!
温馨提示:★★★天上真会掉馅饼!天道酬勤,都是机会!不错过每个空投糖果!真假难以辨认,尽量0撸!