phpを使用したwebスクレイピング日記①

#技術系
writtdden by 銀太

こんにちは!
もうそろそろ、桜の開花シーズンですね!
今年は例年より早く開花する予定らしく、
関東・甲信の桜の開花は平年よりやや早い~非常に早い予想。 各都市では3月15日(水)に東京で開花し、17日(金)に横浜が続く見込みだ。3月下旬に関東北部で開花する予定らしいです!

桜好きな自分にとってはとても楽しみな時期になりましたね!

さて、そんなことはさておき、今回はwebスクレイピングについてご紹介していこうと思います!

Webスクレイピングとは

Webスクレイピングとは、Webサイトから特定の情報を自動的に抽出する技術のことです。Webスクレイピングを使えば、インターネット上に存在するWebサイトやデータベースを探り、大量のデータの中から特定のデータのみを抽出させることができる優れもの。

 

Webサイト上のデータを移す際は、手作業でコピー&ペーストをしたりしますが。Webスクレイピングの使用する事によって、面倒な手作業を自動化できるため、作業時間の短縮や転記ミス防止が可能です。 抽出したデータはExcelやCSVファイルなどにエクスポートできるため、データを活用した分析が行えるようになります。

スクレイピングの例としては、様々なニュースサイトを巡回して見出しを抜き出して一覧にしたり、商品のデータを集めて価格表を生成したりするといったものが挙げられます。

Webスクレイピングの仕組み自体は、「Webクローラー」「Webスクレイパー」の2つから構成されています。クローラーはスクレイパーをインターネット上に導き、要求されたデータを抽出します。
細かい説明は続けてご紹介します!

Webクローラー

Webクローラーは、インターネット上のあらゆる場所からコンテンツ(公開されているテキスト・画像・動画など)をクローリングし、情報を収集していきます。

Webクローラーの目的は、Web上のすべてのWebページの内容を学習し、必要なときにその情報をプログラムを経由してWebサイトに自動的にアクセスし、データを取得する目的となっています。

これらのボットは、ほとんどの場合、検索エンジンによって運営されています。

検索エンジンは、Webクローラーが収集したデータに対し、ユーザーの検索クエリに応じて関連するリンクを提供し、ユーザーがGoogleやBing、またはその他の検索エンジンに検索を入力した後に表示されるWebページのリストを生成します。

Webスクレイパー

Webスクレイパーとは、Webページからデータを抽出するために構築されたプログラムのことを言います。WebスクレイパーはWebサイトのHTML内から不要な情報を削り、必要な情報、データだけを自動で抽出します。

情報を収集するまではクローリングと同じですが、Webスクレイパーは取得した情報を加工し新たな情報として生成するまでの工程を含めた名称を指します。

さぁ、これで大体webスクレイピングがどういったものは分かりましたでしょうか?

上記記事だけ見てると、「え?どのサイトからでもデータを取得して加工出来ちゃうの?!」と思いますが、しっかりとメリットデメリットもあるので、そちらも紹介していきたいと思います!

Webスクレイピングを利用するメリットとデメリット

メリット

  1. 業務効率化を実現できる
    ここは皆さんイメージがつきやすいと思いますが、Webスクレイピングを使用すれば、Web上のデータをプログラムを介して取得してくる訳ですから、手動で取得してくるに対し、各段に業務の効率と正確性が上がります。
    自社にないデータを活用できる
  2. 自社にないデータを活用できる
    自社内にあるデータは限られていますが、インターネット上には膨大な量のデータがあります。
    Webスクレイピングで自社にない必要なデータを収集し、収集したデータを分析したり、格納可能なデータへ変換したりして上手く活用していくことによって、マーケティングに利用するのも良いですし、新規ビジネスを始めるチャンスをつかめるといったような魅力的は一面を備えています。

デメリット

  1. 取得元Webサイトの構造が変更されると影響を受ける
    基本的にWebスクレイピングは、HTMLを元にデータを収集する仕組みとなっています。
    そのため、Webスクレイピング機能をサービスに組み込んでいる場合などにおいては、取得元のWebサイトのHTML構造が変更されてしまうと、少なからず影響を受けてしまう弱点があります。

  2. 取得元Webサイトの利用規約や法律に触れる可能性がある
    ここがWebスクレイピングを使用する上で一番気を付けなくてはいけないことなのですが、
    Webスクレイピングを行う前に、取得元Webサイトの利用規約を確認せずにWebスクレイピングを行った場合、法律に触れる可能性があります。
    Webサイトによっては、許可なくWebスクレイピングすることを利用規約で禁止している場合があります。
    Webスクレイピングを行う前に、必ず取得元Webサイトの利用規約を確認し、規約を遵守してスクレイピングしていくことが重要です。
    法律を犯すのは良くないことなので、Webスクレイピングを使用する際には、利用規約をちゃんと確認するようにしましょう!!!

それではWebスクレイピングが利用規約で禁止されているWebサイトをいくつかご紹介したいと思います!

Webスクレイピングの利用が禁止されているWebサイト

ここでWebスクレイピングが禁止されているサイトをご紹介します!

Amazon

EC最大手の我らがAmazonは利用規約によって、無許可でのスクレイピングが禁止されています。
皆さん気を付けましょう!!

楽天

日本に住んでるなら、馴染みのある楽天も利用規約によって無許可のスクレイピングが禁止されています。

各種SNS

Twitter、Instagram、Facebook、youtubeなども無許可のスクレイピングが禁止されています。
特にTwitterは厳しいで有名です。
個人情報に直結するから厳しいのですかね!

と上記でWebスクレイピングが禁止されているWebサイトをご紹介しましたが、他にも禁止されているWebサイトはあるので、しっかりと利用規約を確認してからWebスクレイピングを使用するようにしましょう!

最後に

さぁ、ここでWebスクレイピングについてご紹介しましたが、次回から実際にPHPを使用したWebスクレイピングの実装をしていきたいと思います!

今回はWebスクレイピングのご紹介までにしたいと思います!

この記事が誰かの力になれたら最高です!

それでは皆さん良い一日を!!

Favorite