食っちゃ寝システムができるまで

「食っちゃ寝システム」ができるまでの、棚卸&備忘録です。

「食っちゃ寝システム第一弾」(2):まずは初めの第一歩

「食っちゃ寝システム第一弾」(2)

f:id:taikobox:20181027220144p:plain

 

10/27にしてある程度予定通り、今までの仕事の中身からモデル

そこで今の時点で出来たことと、出来て無いことをまとめるとする。

まずできたこと、

  ①IEを通じてのスクレイピング

  ②AI判定用のテストデータの用意

  ③昔作成した、Webの入力支援VBAマクロコードを再整理

出来ていないこと、

  ①Pythonの勉強・・・・

  (ほんま進まんかった、しゃあないのでVBAで仮づくり)

  ②AIモデル作成(環境は準備できたのだが・・・)

 

 というわけで出来たところから見ていこうと思う 

1.Webスクレイピングの準備

今回は、セキュリティが二重にかかったシステム読もうとして前回挫折した内容にトライしていることもあるのだが.....

ここで情報収集していると、「なんだ開いている画面」から取っちゃえばいいじゃないかの天啓があり調べると・・・

ちょうどいいものがあったので参考にさせてもらう


www.excel-prog.com
 

    「考え方がシンプル!」

確かに開いてしまっていれば、セキュリティ関係ないものね・・・・

 

てなわけでコードはそのまま、とはいかなかったのでちょっとアレンジ加える。

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でいいのですが文章の数値化方法に苦労している最中です。

 

azure.microsoft.com

 

Python3 for Windowsはインストールしたのはいいのですが、現在進捗のない状況です。先のことを考えると、契約したのに全く使っていないさくらVPSPythonインストール使った方がよさそうです。

www.python.org

 

vps.sakura.ad.jp

 

実は、余力があればIBM Q Experience

(量子コンピューターのクラウドサービス)

にもトライしたいところ。おそらく大量のデータをこれから見ていかないといけなくなりそうなので将来を見据えて慣れとく意味で^^

quantumexperience.ng.bluemix.net