Nightmare.jsつーのが便利そうなんで使ってみます。
環境はWindows7
|
|
package.json作成とnightmareインストール
|
|
Nightmare動作確認
まずは動作確認として、配布元のサンプルを動かしてみます。
importとかエラーになるので、requireに変える。うちの環境では読み込み確認しないとエラーが出たのでwaitを追加。
実行
|
|
なんか出て勝手に検索してくれます。
DOM読み取り
Static
DOM解析のためcheerioをインストール
|
|
evaluateでbodyの中身をざっくり返して、thenで処理。
最初evaluateの中で色々処理しようとしましたが、どうもdocumentの動きが普通のDOMオブジェクトとなんとなく違う感じで、かつVS Codeのブレークポイントも利かなかったので、evaluateの中は極力シンプルにした方がよさそうです。
|
|
サンプルのhtmlは
ちなみにwebサーバはpython と http.serverを使ってます。
htmlを適当なフォルダに作成して(例ではwww)
|
|
Dynamic
SPAとかJavaScriptで操作されたDOMがちゃんと読めるかやってみます。
HTMLは
inputに入力した値でoutputが動的に変わります。inputへの入力もnigthmareを使います。
DOMの読み込みはStaticと特に変わらず。
実行してみると、入力した値もしっかりとれてます。
|
|
すごいね!
もうちょっと実用的なの作ってみたい。つづくかも。