スクレイピングツール Parsehubで複数URLを一括スクレイピング

結論から言うと、Parsehubは1つ〜少数のURLやドメインを対象にする分にはスクレイピングできるが、100URLとか1,000URLを指定して、一括スクレイピングするようなケースには向いていない。

Parsehubとは?

Parsehub は、WindowsやMacにインストールして利用できるスクレイピングツール。GUIで操作できるため、難しいプログラミングが不要で設定できる。

充実したチュートリアルとドキュメント

Parsehub をインストールすると、丁寧なチュートリアルで設定が学べる。

チュートリアルの例

また、 ParseHub Help Center に、豊富なドキュメントがあるため、設定に迷うことはあまりない。
ただし、すべて英語になってしまう。

操作性が良い

GUIで設定できるため、非常に操作がよい。できることも極力制限していると思われ、それが逆に操作性をよくしている。

使いみち

URLを指定して、規則性のあるスクレイピングであれば非常にマッチする。
たとえば、指定したECサイトやショッピングモールの大カテゴリ、中カテゴリ、小カテゴリをすべて取得して、各カテゴリに登録されている商品数を取得する、といったケースには向いている。
しかし、指定したURLの中からデータを取得する、といったケースにはあまり向いていない。
たとえば、1,000件の商品URLを指定して、その中から商品名、金額、ショップ名といったものを取得するようなケースはあまりマッチしない。

複数URLの指定方法

自分には使いみちとしてマッチしなかったが、設定で迷っているひともいると思うので以下にメモ。

設定方法

複数URLを指定した設定方法がドキュメントになっているため、基本的にはそれを読んで設定するだけ。

リストに列挙したURLをクロールする方法 → Enter a list of URLs to crawl

ただし、設定内容を理解するために何度も設定してみて、自分流に変更して、というのを繰り返さないと理解できなかったため、把握するまでに少し時間がかかった。

設定例

自分の場合はテストとして、日本、タイ王国、アメリカの3カ国のサマリー情報(首都はどこか、公用語はなにか、みたいな)を取得するといったことをやってみた。

SettingsのStarting ValueでインポートしたCSV

urls
https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC
https://ja.wikipedia.org/wiki/%E3%82%BF%E3%82%A4%E7%8E%8B%E5%9B%BD
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%A1%E3%83%AA%E3%82%AB%E5%90%88%E8%A1%86%E5%9B%BD

設定イメージ

現在のページURLを取得

3つのURLを指定したため、どのURLから取ってきた情報なのかわからなくなってしまう。そこで、現在のページURLも取得してCSV出力できるようにした。

Parsehubドキュメント ExtractPageUrl - The url of the page that is currently being processed. This does not depend on the current element で設定できる。

CSV結果出力イメージ

指定したURLごとに、縦ではなく横に出力される。個人的には縦に出力されてほしかった。少ないURLであればこれでも問題ないが、これが1,000URLとかになると、1,000 x データ項目数分、横に列が追加されてしまう。

備考

CSV出力されるとUTF8になっているため、Excelで開くと文字化けしてしまう。そこで、 LibreOffice を使うと文字化けせずに開けるためオススメ。しかも無料。