XPath ウェブページから主にテキスト情報を抽出する
ウェブページに表示されるテキスト情報を、効率良くコピペできないか?
オークションページのように、アイテムが変化しても、名称とか開始、終了の日時とか、同じ場所に表示されるテキストを、マウス操作で何回も抽出していると、もっと何とかならないのか、と思ってしまう。
ドラッグして必要な部分だけを選択するのは、案外疲れるのだ。指震えるし。
他の人は、何かうまい方法を知らないのか、ネットで検索すると、「XPATH」なる言葉に行き着いた。
XMLが何かはともかく、htmlもXMLの仲間らしい。そして、XMLのデータの中の位置情報のようなものが、「XPATH」というものらしい。
なんだか難しそうなので、これは専門家専用かな、と思っていたのだが、意外と簡単に利用出来たので、紹介します。
使うブラウザはグーグルクロームと、その拡張機能の「Scraper」。
■準備は、
クロームを用意し、クロームウェブストア から、アプリの「Scraper」をクロームに入れておく。右上にアイコンが表示されるはず。
■使い方は、
①クロームを使っている時に、F12を押す、「メニュー」-「その他のツール」-「デペロッパーツール」と選ぶのと同じ、すると、クロームの画面下にhtmlが構造化されて表示される。
②ウェブページの抽出したい単語にマウスを合わせ、右クリックして、表示されるメニュー一番下の「検証」を選択する。このとき、デベロッパーツールが開いていないと、自動で開くようなので、①はいらないかも。
③②の操作で、デベロッパーツールで表示されたhtmlの一部が帯状に選択されているのが見えると思います。
▼(右向き)をクリックすると開く。▼が開いている、または無い時はそのまま④へ
▼が開いて、目的の日時の行が見える。左クリックすると上図のようにその行が選択される。
④その帯の部分を右クリックし、「Copy」-「Copy XPath」と選択。
⑤クローム右上のScraperのアイコンを左クリックし、Scraper simiar を選択。下のようなツールが開きます。
真ん中左の窓の中が「XPath」なのを確認し、その右の窓の内容を、今コピーした内容に置き換える。
「Scrape」ボタンを押すと、選択したテキストが右の窓に現れる。
今回は、ヤフオクの商品ページの開始日時を選択してみました。
⑥日付の文字の上、真ん中より右をトリプルクリックすると、日付部分が選択され、コピペできます。(曜日のカッコより左だと、日付のみ選択されるみたい。)
⑦同じタブで、別の商品ページを開きます。ページを戻って、商品を選びなおしてもよいし、あらかじめ調査ページのURLのリストとデータ入力用のエクセルシートを用意して、URLだけ書き換えてもOK.。
⑧「Scrape」ボタンを押すと、新しいページ(同じ構造でないと意味なし)のデータが表示されるので、トリプルクリック&コピペ。
⑦、⑧を繰り返します。「Scrape」は複数起動できるので、複数個所の抽出もOK。また、マウスでスクロールする必要が無いので、作業が単純になり、眠くても、指先が震えても(限度はある)、少ない労力でコピペ作業が可能です。
あとは、ブラウザ、「Scrape」、エクセルの配置を工夫しましょう。
---
VBAプログラミングで、自動抽出、記録も可能です。株とかFXのページとか、同じページのリアルタイムモニタなどの場合は、スクリプトをがんばってみるのも、有用かも。
静的な数十ページなら、スクリプトのデバッグとか考えると、このやり方が便利そうですよ。まあ、必要を感じない人の方が多いというのは理解してますが。
---
| 固定リンク | コメント (0) | トラックバック (0)
最近のコメント