Java版「和魂」を作ってみた
JavaでWebClientを実現してみた。
WebClientをプログラムで実現できると、プログラムから自動的にインターネット証券のWebサイトにアクセスできて、情報取得できて、情報入力できる。
でも、単純にWebClientを実現してもつまらないので、ニコニコ動画の検索画面とか動画ページとかサムネイルとかを落とせるようにしてみた。
まあ、C#で作った「和魂」のJava版(CUI)です。今は、C#版「和魂」は使えないし。
今回はニコ動を対象としたけれど、今年の目標の「株の売買自動化」に繋げられるかなと・・・。(他に方法があるかもしれなけどな)
ダウンロードは以下から。
Jarファイル
Javaプロジェクト
さて、Java版「和魂」っていっても、今のところ以下の機能だけ実装。
- キーワード・タグ検索画面をファイルに出力
- 動画ページをファイルに出力
- サムネイルをファイルに出力
- ニコ動APIを使って、動画情報を標準出力に出す
動画のダウンロード?ダメだよ。違法だよ。
JavaでWebClientを実現するのはそんなに難しくない。
URLクラスのopenConnection()からHttpURLConnectionオブジェクトを取得すればよい。
ちょっと難儀したのは、Cookieの授受の仕方と、POSTデータの渡し方。
以下、参考にしたところ。
- Cookie授受の方法は、りろいゆさんの「Javaでアプリケーション作りたい どうしてJaveでCookieが取得できないんだろう?(5)」で公開されている CorrectedCookieManager.java を使用。(mainメソッドを削除してパッケージ名をtomottとして、そのまま使用しています。)
- POSTデータの渡し方は、@ITさんのJava TIPS「接続先のURLへ情報を送信し、結果を保存する」を参考にしました。"foo1=bar1&foo2=bar2"って文字列を構築してPrintStremで送信するという感じ。
- 定数オブジェクト(静的ハッシュマップデータ)の作り方は、砂場の落書きさんの「[Java]いろんな定数を宣言」を参考にしました。EnumMapクラスはunmodifiableMap()使えない・・・。
- 現在日時を文字列に変換する方法は、Javaの道さんの「3.SimpleDateFormatクラス」を参考にしました。
- XMLデータの内容を解析・データ取得の方法は、たけおばの門さんの「JavaとXML(DOM) 」を参考にしました。JavaでXMLを扱うプログラム書いた記憶が無きにしも非ず。すっかり忘れたなぁ。使っていないとだめだね・・・。
その他、いろいろ参考になる情報を提供してくださいました皆様に感謝!
今回はNetBeansを使って開発してみた。単語の補完とかリファクタリングとか諸々の機能がありがたい。Javaだけじゃなくて他の言語でも使ってみようかしらん。
注:お試しプログラムですので、動作は保証しません。本プログラムを使用して被害・損害を受けた、または与えたとしても当方は一切責任を持ちませんのでご了承ください。また、質問 は一切受け付けませんのでご自分で勉強なさったら。まあ、オイラも勉強不足だし、直観とフィーリングでプログラムを作っているので、何が正しいかは己の心 に聞け!
USE AT YOUR OWN RISK
« 今飲んでいる酒 | トップページ | 株:現物買い約定(日本基礎技術) »
コメント