« 2016年4月 | トップページ | 2016年7月 »

2016年5月

2016年5月22日 (日)

XPath ウェブページから主にテキスト情報を抽出する

ウェブページに表示されるテキスト情報を、効率良くコピペできないか?

オークションページのように、アイテムが変化しても、名称とか開始、終了の日時とか、同じ場所に表示されるテキストを、マウス操作で何回も抽出していると、もっと何とかならないのか、と思ってしまう。

ドラッグして必要な部分だけを選択するのは、案外疲れるのだ。指震えるし。

他の人は、何かうまい方法を知らないのか、ネットで検索すると、「XPATH」なる言葉に行き着いた。

XMLが何かはともかく、htmlもXMLの仲間らしい。そして、XMLのデータの中の位置情報のようなものが、「XPATH」というものらしい。

なんだか難しそうなので、これは専門家専用かな、と思っていたのだが、意外と簡単に利用出来たので、紹介します。

使うブラウザはグーグルクロームと、その拡張機能の「Scraper」。

■準備は、

クロームを用意し、クロームウェブストア から、アプリの「Scraper」をクロームに入れておく。右上にアイコンが表示されるはず。

■使い方は、

①クロームを使っている時に、F12を押す、「メニュー」-「その他のツール」-「デペロッパーツール」と選ぶのと同じ、すると、クロームの画面下にhtmlが構造化されて表示される。

②ウェブページの抽出したい単語にマウスを合わせ、右クリックして、表示されるメニュー一番下の「検証」を選択する。このとき、デベロッパーツールが開いていないと、自動で開くようなので、①はいらないかも。

③②の操作で、デベロッパーツールで表示されたhtmlの一部が帯状に選択されているのが見えると思います。

Photo_2

▼(右向き)をクリックすると開く。▼が開いている、または無い時はそのまま④へ

2_2

▼が開いて、目的の日時の行が見える。左クリックすると上図のようにその行が選択される。

④その帯の部分を右クリックし、「Copy」-「Copy XPath」と選択。

⑤クローム右上のScraperのアイコンを左クリックし、Scraper simiar を選択。下のようなツールが開きます。

3

真ん中左の窓の中が「XPath」なのを確認し、その右の窓の内容を、今コピーした内容に置き換える。

「Scrape」ボタンを押すと、選択したテキストが右の窓に現れる。

4

今回は、ヤフオクの商品ページの開始日時を選択してみました。

⑥日付の文字の上、真ん中より右をトリプルクリックすると、日付部分が選択され、コピペできます。(曜日のカッコより左だと、日付のみ選択されるみたい。)

⑦同じタブで、別の商品ページを開きます。ページを戻って、商品を選びなおしてもよいし、あらかじめ調査ページのURLのリストとデータ入力用のエクセルシートを用意して、URLだけ書き換えてもOK.。

⑧「Scrape」ボタンを押すと、新しいページ(同じ構造でないと意味なし)のデータが表示されるので、トリプルクリック&コピペ。

⑦、⑧を繰り返します。「Scrape」は複数起動できるので、複数個所の抽出もOK。また、マウスでスクロールする必要が無いので、作業が単純になり、眠くても、指先が震えても(限度はある)、少ない労力でコピペ作業が可能です。

あとは、ブラウザ、「Scrape」、エクセルの配置を工夫しましょう。

---

VBAプログラミングで、自動抽出、記録も可能です。株とかFXのページとか、同じページのリアルタイムモニタなどの場合は、スクリプトをがんばってみるのも、有用かも。

静的な数十ページなら、スクリプトのデバッグとか考えると、このやり方が便利そうですよ。まあ、必要を感じない人の方が多いというのは理解してますが。

---

XPath

| | コメント (0) | トラックバック (0)

« 2016年4月 | トップページ | 2016年7月 »