スクレイピングを取り入れる

スクレイピングを活用すると、欲しいデータを簡単に入手できるようになります。

マーケティングや株価の動向の観察、ある商品の価格変動など、色んな場面で役立つスクレイピングをご紹介します。

スクレイピングとは

スクレイピングとは、インターネット上のデータを抽出することです。外部データを活用することで、より効率的にデータ分析から新たなアイデアを得たり、面倒な入力作業をコンピューターにやらせたりなど、活用方法は幾らでもあります。例えば、ブログである記事を書きたいと思う場合、どんなタイトルにすればアクセス数が増えるか考えることでしょう。ライターなら誰でも、一度はSEO対策について頭を悩ませたはずです。そこで、Google検索で似たようなテーマの記事を検索し、上位に表示される記事のタイトルや内容を調べます。

ほんの2、3ページを調べるだけならともかく、より大量のデータを分析したい場合や、収益化を考えて本気でアクセス数増加を狙っている場合、もっと多くのウェブサイトの情報を見てみたいはずです。しかし、手作業で検索→ウェブサイト閲覧→特定のワード探し→傾向分析をやっていると、とてもではありませんがいくら時間があっても足りません。そうしている間にも数え切れないウェブサイトが作成されており、それらも新たに見てみなければならないからです。そこで、Pythonなどのプログラミング言語を使って、それもJavaScriptなどと比べてはるかに少ないコード数で、インターネット上のデータを全自動で抜き出します。これがスクレイピングです。

過去にアクセス数の多かった記事を自動検索・収集するスクリプトを生成して、結果をCSVでダウンロードし、そのデータを年度・ブックマーク数などで並び変えると、「どの年にどんなウェブサイトのアクセス数が多かったのか」を一覧で簡単に表示させられます。多いキーワードや流行っていたサイトを見れば、どんなキーワードを使うべきか、どんなSEO対策を行なえばいいかが見えてくるはずです。当然、そこからどのようにデータを分析するかは自分次第ですが、たとえ個人利用のブログにもスクレイピングは活用できる、ということです。しかも、通常なら何十時間とかかるような作業でも、スクレイピングを上手くやればものの数分で終わります。以上のように、スクレイピングには大きなメリットがあります。

クローリングやAPIとは違う

しかし、クローリングやAPI(Application Programming Interface)も同じじゃないの?と思うかもしれません。確かに、インターネット上のデータを集めるという意味では同じですが、特にAPIとの差は「公式にサポートされているかどうか」が異なります。APIは、サービスを提供する側が一定の制限を設けたうえで公開している、開発者向けの情報(を取得する機能)です。どんなサービスやウェブサイトでもAPIが提供されていれば問題ありませんが、必ずしもAPIがある訳ではありません。

加えて、APIでは見つからない情報もあります。そこで、スクレイピングすることでより広範囲の情報をより多く抜き出し、データ分析で有利になれます。その分、スクレイピングにはリスクもあります。コンピューターに負荷がかかったり、許可されていないアクセスを行なってしまって不正アクセス禁止法に引っかかることもあるかもしれません。スクレイピングをする際は、法律に則った正しい利用法が不可欠です。スクレイピングの正しい活用方法は幾つもあります。スクレイピングの大きなメリットは「自分が持っていないデータを集められる」ことであるため、

・自分のウェブサイトや自社サービスに関して一般の意見を集め、それを掲載することで透明性や信頼性を高める
・キーワードや価格のデータを抜き出して分析することで、SEO対策やマーケティングに活用する

などの方法が挙げられます。正しい方法で使用するなら、スクレイピングはインターネット上におけるあらゆる活動や対策を非常に効率的にしてくれます。

スクレイピングを行う上での注意点

そんなスクレイピングにもデメリットはあります。スクレイピングはHTMLの情報を取得する仕組みです。そのため、データ取得先のHTML構造が変わってしまうと、スクレイピングするシステムもそれに合わせて変更しなければなりません。例えば、GoogleやYahoo!などのような検索エンジンは、スクレイピングの技術を利用して運営されています。しかし、検索したサイトのHTML構造が変わると、同じスクレイピングの方法ではもはや検索できなくなります。

現実的には、特にGoogleの検索結果が非常に重視されているため、意味もなくHTML構造を変更する開発者は少ないと思われますが、もし自分や自社が提供するサービスや機能にスクレイピングを採用している場合、構造変更の度に大きな影響を受けるでしょう。加えて、前述のように不正アクセス禁止法に触れる危険性があり、まったく悪い意図を持っていなくても不正アクセスに加担してしまったり、通信障害を引き起こしてしまうことがあります。そのようなデメリットやリスクを避けるには、適切な範囲でのスクレイピングの利用に留める計画性が必要です。