あけましておめでとうございます。

今年もよろしくお願いいたします。

 

新年最初の記事ですが、拙作WeSCを紹介したいと思います。

このソフトは2年前に作ったのですが、ある事情により公開する事ができませんでした。

その制約が無くなったので、近々ベクターに登録したいと思います。

 

WeSCは簡易Webブラウザー機能を基本としています。

ただし、簡易Webブラウザーは一機能であり、メイン機能ではありません。

WeSCのメイン機能は「簡易Webブラウザーに表示されている画面からテキストデータを取り出す」というものです。

 

Webページからテキストデータを取り出す事をスクレイピングと呼びます。

これはGoogleなど検索エンジンのコア部分でもあります。

WeSCは次々に検索してデータベースを作るものではなく、前述の通り表示しているページのみからデータを取り出すので、検索エンジンではありません。

また、そのためサーバーに負荷をかける事もありません。

(スクレイピングはお断りというサイトが多いのですが、一番の理由はサーバーに負荷がかかるからです。)

 

何に使えるのか?

1.Webページから指定部分のテキストを取り出す。

Webページからコピペするのは誰でも1度はやった事があると思います。

あれって、選択が難しいんですよね。

PCでマウスを使って選択するのは、どのWebブラウザーでも面倒です。

WeSCは選択した部分にあるテキストの大体の位置をクリックするだけで選択できます。

その後、コピーボタンを押すとクリップボードにテキストが入ります。

 

上記画像では、当ブログの記事一覧から「WebSite X5 -6- (作成4)」を選択したところです。

右上のボックスに選択した部分のテキストが入っているのが判ると思います。

このように、簡単にテキストを選択できるんです。

 

2.XPathを使って一度にデータを取り出す。(主機能)

 

WeSCは完全ではありませんがXPathをサポートします。

XPathは聞きなれない言葉だと思います。

XPathとはXML(ここではHTML)の要素を取り出すための文法です。

1つの要素または複数の要素を1つのXPath定義で取り出す事ができます。

XPathの問題は、その表現が冗長で、記述しずらい点です。

 

先ほど選択した「WebSite X5 -6- (作成4)」の要素をXPathで定義すると以下のようになります。

/body[1]/div[4]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/ul[1]/li[2]/div[1]/div[2]/h2[1]/a[1]

これを人間の手で記述するのはかなり困難でしょう。

 

このため、WeSCではXPath自動生成機能が提供されています。

左側にHTMLツリー構造が表示されており、「WebSite X5 -6- (作成4)」の要素である<a>タグが選択されています。

右側の真ん中あたりあるのがXPath表記を自動生成したものです。

(XPathの要素指定定義は1つだけではありません。様々な指定方法が可能です。)


一番上の定義を実行定義欄にコピーして、そのまま実行してみます。

左下のボックスに選択した要素が持つテキストが抽出されました。
(つまりは「WebSite X5 -6- (作成4)」です)

では、XPathを修正して表示されている記事タイトル一覧を抽出してみます。

/body[1]/div[4]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/ul[1]/li[2]/div[1]/div[2]/h2[1]/a[1]

/body[1]/div[4]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/ul[1]/li/div[1]/div[2]/h2[1]/a[1]

li要素の[2]を削除しました。

実行してみます。

今度は記事タイトル一覧が抽出されています。

このように、WeSCは表示されているページから一気に指定テキストを取り出す事ができます。
取り出した、テキスト一覧はクリップボードにコピーし、エクセルに貼り付けられるようになっています。

「テキストを取り出せるのはいいけど、XPathが難しそうだなあ」という声が聞こえてきそうです(汗)
大丈夫です。XPathを理解せずともデータ抽出ができるセットの販売を準備しています。
なるべくお安くしする予定です、ゲヒゲヒ(笑)
リクエストがありましたら、コメントかメッセージを下さい。
アメブロ以外のページでも良いです。(必ずしも採用とならない事はご了承ください。)

重要な事をもう一つ書きますね。
簡易Webブラウザーに表示されているテキストを抽出できると書きました。
これは逆に言うと、ログインが必要なページであっても抽出できるという事です。

簡易Webブラウザーに表示されてさえいればいいんです。

なので、例えば、アメブロにログイン後、アクセス解析を表示し、データを抽出するなどができてしまいます。


今回は概要ですが、次回からはアメブロを例にとって、色々なデータを抽出してみます。