「食っちゃ寝システム第一弾」(2):まずは初めの第一歩
「食っちゃ寝システム第一弾」(2)
10/27にしてある程度予定通り、今までの仕事の中身からモデル
そこで今の時点で出来たことと、出来て無いことをまとめるとする。
まずできたこと、
②AI判定用のテストデータの用意
③昔作成した、Webの入力支援VBAマクロコードを再整理
出来ていないこと、
①Pythonの勉強・・・・
(ほんま進まんかった、しゃあないのでVBAで仮づくり)
②AIモデル作成(環境は準備できたのだが・・・)
というわけで出来たところから見ていこうと思う
1.Webスクレイピングの準備
今回は、セキュリティが二重にかかったシステム読もうとして前回挫折した内容にトライしていることもあるのだが.....
ここで情報収集していると、「なんだ開いている画面」から取っちゃえばいいじゃないかの天啓があり調べると・・・
ちょうどいいものがあったので参考にさせてもらう
「考え方がシンプル!」
確かに開いてしまっていれば、セキュリティ関係ないものね・・・・
てなわけでコードはそのまま、とはいかなかったのでちょっとアレンジ加える。
IEが開いている状態で、該当ページタイトルある場合、そのページを丸ごとクリップボードに格納し、キーワードに対して関連するid属性要素がある場合、抽出⇒配列に格納の流れで組んでます。またもしIE 開いていない場合、IE開いく使用にしています。
Sub ImportIE(ByVal cktype As String)
Dim shl As Object 'シェルオブジェクト生成
Dim win As Object, getFlag As Boolean 'windowsオブジェクト
Dim targetTitle, targetSecondTilte As String 'タイトル確認
Dim objIE As New InternetExplorer 'IEオブジェクト宣言
Set shl = CreateObject("Shell.Application") ’オブジェクト確認用
targetTitle = "テストシステム"
For Each win In shl.Windows '起動中のウィンドウを順番確認
'IEとエクスプローラがシェルで取得されるため、IEのみ処理
If TypeName(win.document) = "HTMLDocument" Then
If win.document.Title = targetTitle Then
Set objIE = win
getFlag = True '正しく取得できた
Exit For
End If
End If
Next
If getFlag = False Then
MsgBox "目的の画面が開かれていません。", vbExclamation
Call IEOpen
Exit Sub
End If
'目的の画を全画面選択⇒クリップボードにコピー
objIE.ExecWB 17, 0 'OLECMDID_SELECTALL = 17 全てを選択
objIE.ExecWB 12, 0 'OLECMDID_COPY = 12 コピー
'対象のidの要素取り出し
If (cktype = "テスト") Then
WaveSpecialdata(1) = objIE.document.getElementById("metro").innerHTML & objIE.document.getElementById("city").outerHTML
WaveSpecialdata(2) = objIE.document.getElementById("address").outerHTML
WaveSpecialdata(3) = objIE.document.getElementById("room").outerHTML
End If
End Sub
’ーーーーーーーーーーーーーーーーーーーーーーーー
’IEが立ち上がってない場合、起ち上げるだけのサブルーチン
Sub IEOpen()
Dim IE As Object
target = "https://www.*******/"
Set IE = CreateObject("InternetExplorer.Application")
With IE
'InternetExplorerを表示
.Visible = True
'指定したURLのページを表示
.navigate target
'完全にページが表示されるまで待機
Do While .Busy = True Or .readyState <> 4
DoEvents
Loop
'完全にドキュメントが読み込まれるまで待機
Do While .document.readyState <> "complete"
DoEvents
Loop
End With
End Sub
’ーーーーーーーーーーーーーーーーーーーーーーーー
今回は、VBAで作成ですが、逐次Pythonにシフトしていきます。
2.これから詰めていくこと
AIによる判定システムの作成ですが、データを集めたのはいいのですが、数値化をどうするか検討中です。有り無しは0,1でいいのですが文章の数値化方法に苦労している最中です。
Python3 for Windowsはインストールしたのはいいのですが、現在進捗のない状況です。先のことを考えると、契約したのに全く使っていないさくらVPSにPythonインストール使った方がよさそうです。
実は、余力があればIBM Q Experience
にもトライしたいところ。おそらく大量のデータをこれから見ていかないといけなくなりそうなので将来を見据えて慣れとく意味で^^
quantumexperience.ng.bluemix.net