最近話題の「Octoparse」でWebスクレイピングしてみての感想 メリットとデメリット


「Octoparse」ってご存知ですか?

元々Web Scrappingには興味があって、PythonのBeautiful Soupを使って日経平均株価をスクレイピングしたことはあるのですが、もっと手軽且つ、ダイナミックに引っ張ってこれるソフトないかなと思って調べていたら「Octoparse」に当たりました。

色々調べてみると、海外では2016年頃から徐々にプレゼンスを高めつつあるソフトですね。

Octoparseの人気度の推移(5年間)

実際に使ってみると思っていた上に便利だったので、簡単に共有します。

 

Octoparseとは

Webサイトの情報を抽出する技術のことを「Webスクレイピング」と言います。

例えば、AmazonのWebサイトから商品名や価格といった情報を抜き出したり、食べログやぐるなびからお店の情報や住所を抽出し、CSVやExcelに保存したりできる技術のことです。

Octoparseは、このWebスクレイピングを、コーディングなしで、抽出できる特徴を持っているソフトです。

マニュアルでやると、「コピペ」を使って情報を転記する方法もありますが、Octoparseを使えばこれらの処理を機械が自動で進めてくれるので便利なんです。

 

Octoparseのメリット

1.無料版でも十分に使える

一番大きいメリットはここです。もう少し具体的には、大きく「Free」、「Standard」、「Professional」とプランが分かれているのですが、一回のTaskで10,000レコードといった抽出上限の製薬の範囲内なら無料です。

試しにアパレルのH&Mの企業ホームページから2019年の全てのニュースリリースの記事をダウンロードしてみましたが、問題なく全ての記事をダウンロードできましたので、個人的には現時点でキャパ的には問題なかったです。

無料版だと機能に制限は出てきますが、例えば年度別で区切るといった少し手間を増やすことで無料版でも十分に使えツールだと思います。

 

2.スクレイピングの設定がシンプル

実際にスクレイピングを進めていく上では、下記画面のように「ワークフロー」と呼ばれる処理手順を定義していくのですが、これがとても簡単で理解しやすいです。

また、抽出したいテキストなり文言を1つ選択すると、ページ内にある全ての情報を自動で認識してくれます。

コードを調べたり学んだりする手間が省けますし、直感的に操作しながらスクレイピングロボットを作っていけるので、無断なく目的を達成することができると思います。

 

3.「もっと読み込む」ボタンの押下、「スクロール」が必要なサイトにも対応

TwitterやFacebookが代表的ですが、ページを下にスクロールしていくと、コンテンツがロードされて出てくるサイトありますよね。

また、ページの最下部に「もっと読み込む」や「Read More」といったボタンがあり、そのボタンを押下するとさらにページがロードされて出てくるサイトもありますよね。

このように全てのコンテンツを読み込むために、スクロールやボタン押下といった操作が必要なWebサイトでも、Octoparseはスクレイピングで情報を抽出することができます。

 

Octoparseのデメリット

1.上位プランは少々割高

Octoparseはフリーミアムモデルです。

無料版を使わせて抽出文字数の上限にストレスを感じた人が、クローラーの数の制限を「無制限」にできる「Standardプラン」にアップセルをしていくわけなのですが、こちらの値段が月額$75です。

個人的には$75は少し高いと感じます。正確には、$75に見合うだけのリターンが得られないかなという印象です。

もちろんWebやIT企業で、日々競合他社の価格動向をキャッチしたいユーザーはアップグレードも全然ありですが、私みたいに個人で単発利用する人にはこの値段は高い印象です。

 

2.日本語版は分かりずらい

Octoparseはアプリを日本語でダウンロードできますし、日本語対応した公式ホームページがありますので、Octoparseの詳しい使い方のチュートリアルはあります。

ただ、元々は海外で開発されたソフトなので、日本語版はわかりずらいです。英語→日本語の対比表にそのまま当てはめて機械的に翻訳しているのかなという印象を受けます。

例えば、最初Octoparseを起動した後にタスクを選択する画面がで出てくるのですが、英語版では「Advanced Tool」となっているものが、日本語版だと「高級なタスク」です。ニュアンスはわかりますが、正直言葉選びが微妙です。

チュートリアルもところどころ誤訳がありますし、それだけでちょっと読む気がなくなります。。。

 

3.利用のためにはセキュリティ解除が必要。大手企業だとセキュリティ上使えない可能性がある

Octoparseは、アプリケーションをローカル上にダウンロードして利用します。

そして大手企業だと、セキュリティ上の観点からインストール時にIT管理部門の権限が必要な場合が多いのですが、Octoparseもこのケースに当てはまると思います。

Pythonといったメジャーなツールなら、比較的容易に権限をもらえる可能性が高いですが、まだまだ認知率が高くはないので、簡単に権限はもらえない可能性が高いです。

ウイルスのほとんどはインターネット経由のものですので、Webの情報をスクレイプするというのはIT部門側からは間違いなく警戒されます。

大手企業で使う場合は、個人のPCを利用する等の対策が必要となりそうです。

 

4.PDFのダウンロード、スクレイピング不可

企業の有価証券報告書が良い例なのですが、リンク先がPDFファイルというケースありませんか?

Octoparseは、2020年4月現時点でPDFファイルをダウンロードすることはできないです。公式サイトにもその旨掲載されております。

 

高まるWebスクレイピング人気

下記はWebスクレイピングのGoogleの検索結果数の推移ですが、ここ数年でWebスクレイピング技術の注目度は国内外で急増していることが分かります。

【Googleトレンドの結果(日本)】 

【Googleトレンドの結果(世界)】

最近は「スクレイピングエンジニア」と呼ばれる職業が出て来たりとスクレイピングを深めることでエンジニアとしての活躍の場も広げられます。

実際僕がEC企業で働いていた時も社内にスクレイピング専門の部隊があり、競合他社の価格情報を調査したり等、重要な役割を担っていました。

 

Webスクレイピングエンジニアを目指そう!

Webスクレイピングは実際にやってみるとわかりますが、Webサイトの構造を理解した上で適切なデータクレンジング技術が必要な高度な技術が求められる専門職です。

Octoparseの使い方から視点を広げて「Webスクレイピング」を目指すなら幅広い知識も求められます。

下記参考までにWebスクレイピング技術の学習動画を紹介させて頂きます。

 

PythonによるWebスクレイピング〜入門編〜

Seleniumを用いて、自動ログイン、テキストの抽出、画像データの収集までを学習できる講座です。

ランキング形式のサイトからまとめて情報を収集することができるようになったりと、Pillowを用いてPythonで画像を扱うことができるようになったりと内容が濃く、おすすめです。

 

PythonによるWebスクレイピング 〜Webアプリケーション編〜

BeautifulSoupを用いたデータの収集のみならず、データの可視化に特化したPythonライブラリであるDash、便利なPaaSであるHerokuといったプログラミングが学べる講座です。

Web上に公開するところまでをスコープとしていて、内容が実用的なのが特徴です。

 

Python で通販サイトの最低価格を比較するアプリを作る

Python で Web スクレイピング をして、楽天とyahoo!ショッピングの最低価格を比較するアプリを作る講座です。

知識0の初心者を対象としていて、また最終的に得られるスキルも明確(価格を比較する)なので、無駄なく学習が進むと思います。