【超初心者向け】仮想通貨Bot作成講座2日目~いなごFlyerを使用したBotを作成しよう~
こんにちは。さて2日目の今回はいなごFlyerを使用したBotを勉強してきましょう。1日目とは違い実践的な内容になっていますよ。張り切っていきましょう!
1時間目 SeleniumでPhantomJSを使ってスクレイピングをしよう!
2時間目 注文の条件を入れていこう!
3時間目 注文を関数にまとめよう!
4時間目 注文状況をLINEで通知しよう!
導入 キーワードを確認しよう
▼いなごFlyerとは
いなごFlyerとは国内外の取引所での取引量をグラフと音で教えてくれるサイトです。
いなごFlyerを使用したBotってどういうこと?という方は下記Twitterをみてください。
いなごFlyerのボリュームで売買するBotです。これが1ヶ月で56倍なったそうで、とても話題になりました。
ちなみに私がBot開発の勉強を始めたきっかけがこのAKAGAMIさんのTwitterです。そのため私が最初に作ったのもこのBotです
。とても思い入れのあるサンプルコードですね。
それではさっそく作っていきましょう。
1時間目 SeleniumでPhantomJSを使ってスクレイピングをしよう
▼ファイルの作成と下準備をしよう!
まずは、新しいファイルを作成しましょう。+ボタンを押してNew Fileを選択してください。
ファイルが開いたら、保存して名前をつけましょう。上のメニューのFileからSaveを選択してください。
ファイル名を「inago_trade.py」に設定しましょう。
APIキーとLOT部分は、前回のコードをコピー&ペーストしましょう。
# -*- coding: utf-8 -*-
import ccxt
from time import sleep
bitmex = ccxt.bitmex({
'apiKey': 'XXXXXXXXXXXXXXX',
'secret': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
})
bitmex.urls['api'] = bitmex.urls['test']
LOT = 500
▼モジュールのインストールをしよう!
まずは使用するモジュールのインストールから始めましょう。
Seleniumをインストールします。ターミナルに、以下のコマンドをコピー&ペーストしてください。
sudo pip-3.6 install selenium
Successfully installedと表示されたら完了です。
続いて、PhantomJSをインストールします。ターミナルに、以下のコマンドをコピー&ペーストしてください。いつものpipとは違う、npmというコマンドでインストールします。こちらは、Node.jsのパッケージをインストールするときに使います。
npm i -g phantomjs-prebuilt
終了すると以下の画像のような表示がでてきます。
この2つを使って、スクレイピングを行なっていきます。
▼スクレイピングとは?
ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。 ウェブ・クローラーあるいはウェブ・スパイダーとも呼ばれる。
つまり、ウェブサイトから、情報を取り出すことをいいます。今だといなごFlyerに表示されているSellVolとBuyVolを取得します。
▼Selenium(せれにうむ)とは?
Seleniumはウェブブラウザを操作するソフトウェアです。例えば、ウェブページを開いてIDとパスワードを入力してログインする、ページの下までスクロールして読み込みを待つ、など単純にページを開くだけでなく操作を必要とするような場合に役に立ちます。Seleniumが操作可能なブラウザはChrome、Firefoxなど多岐に渡ります。
▼PhantomJS(ふぁんとむ じぇーえす)とは?
PhantomJSはヘッドレスなWebKitです。つまり画面がないブラウザのようなものです。Seleniumのウェブドライバーとして選択可能です。Selenium経由で操作することで、画面のないブラウザでJavascriptの挙動を考慮してウェブページを取り扱うことが可能です。
まとめると、Seleniumがブラウザを自動で操作できるソフトで、PhantomJSが画面がないブラウザです。SeleniumでPhantomJSを使って、いなごFlyerのスクレイピングを行うということです。(横文字がいっぱいですね。無理に覚える必要はないので、参考程度に読み進めてください。)
こちらから引用させていただきました。ありがとうございます。
▼データを取得するコードを実装していこう!
まずはインストールしたモジュールをimportしていきましょう。
from time import sleepの下に以下のコードを追加してください。
from selenium import webdriver
続いてLOT = 500の下に、以下のコードを追加してください。
driverを生成して、取得したい情報が書いてあるURLを指定しています。
driver = webdriver.PhantomJS()
driver.get("https://inagoflyer.appspot.com/btcmac")
その下に以下のコードを追加してください。
ここで取得した情報から、BuyVolとSellVolを取得してaskとbitという変数に代入するという関数です。(関数については、3時間目に解説します。)
この記事が気に入ったらサポートをしてみませんか?