SOEのひとりごと

Salesforce管理者兼エンジニアのSOEがつぶやいてます

Webスクレイピングをする際のコツや注意点のメモ

本記事へようこそ
今この記事をご覧になっている方は、現在プラグラミングを学習されている方、または情報収集を自動化するための方法を模索されておりスクレイピングに関心がある方ですよね!

でも実際にスクレイピング とはなんなのか、試してみたけどうまくいかなかったといった方も多いのではないでしょうか。

そんな方々のために、今回はWebスクレイピングで自動化する上でのコツや注意点を簡単にお話ししますので、よければ最後までお付き合いください!

スクレイピングとは?

 スクレイピング(Scraping)の由来は「こする」「かき集める」という意味の「Scrape」からきており、転じてITにおける特定の情報に対するデータ抽出手法として言われるようになりました。

説明の雰囲気からグレー感がありますが、収集先となるサイトに負荷がかかるような使い方、サイト運営者が不快に思うような使い方をしない場合は問題ない手法となります。

余談となりますが実際に、民間から官公まで、幅広い業界で活用されており、最近有名なものとしてはIndeedという転職サイトの求人情報を横断的に検索できるサービスでもこちらの技術を利用しております。
※厳密にはクローラという分類のものを利用しておりますが、、

スクレイピングツールの準備方法

準備方法は2つ
1、プログラミングを使ったツール開発
2、サービスの利用

プログラミングをあまり知らない方で、利用できたら十分な方の場合は2を選択するのが良いかと思います。
しかし、なんだかんだ環境の準備としてソフトウェアをインストールしたり、クラウドサービスへの登録などが必要となり、その分自由度は下がってしまいます。

そのため、プログラミングができるのであればツール開発コストはかかるものの、自由度の高い準備が可能です。
※開発に関する参考情報は別途追加します。

スクレイピングのコツ

動的スクレイピングと静的スクレイピング 

webサイトは基本的には、HTMLファイルにコードを直接書き込んだものを公開しています。これを静的ページと言います。
参考

しかし、サイトによってはユーザのブラウザで処理するまでは表示されない、動的な生成でページを作るようなものもあります。

その場合は、いわゆるヘッドレスブラウザを利用することで、基本は解決します。ただし、たまにヘッドレスブラウザと自分のブラウザで、抽出したいHTML要素の属性や要素名の表記がちょっと違う場合もあるので、うまく抽出できない場合は、両方のブラウザで”検証”から確認してみる必要があります。

ログインや二段階認証など、セキュリティが今後はもっとガチガチになってくるはずなので、会員制サービスから取得したい場合は、自分のブラウザから取得、または突破する処理を実装する必要があります。

お知らせ

もしかしたらこんな方はいませんか?
「メルカリや楽天フリマから、データをスクレイピング して、物販リサーチを楽にしたい」
仕入れたい商品候補が出てきたらすぐに確認したいが、サイトの通知ではうまいことピンポイントにできない、、、」
「他社サービスのやりとりを常に監視したい」

もし、上記のようなお悩みを持っていて、興味がございましたら無料相談も可能ですので、ご不明点ございましたらいつでもご連絡くださいませ。