2019.05.22 システム
[web開発] スクレイピングとはなにか
システムの上松です。
スクレイピングとは、ウェブサイトから情報を収集して分析することです。
が、具体的に「これがスクレイピングだ!」と断言するのは難しいものです。
今回は、スクレイピング(技術?手法?)について書いてみたいと思います。
さて、スクレイピングとは何でしょうか。
調べてみると、データを収集・加工するツールや作業全般のこと、のようです。
この「データを収集する」「データを加工する」という作業は、どんな手段を使ってもOKです。
手動でサイト巡りをして記事を収集してもいいですし、ツールを使ってデータ収集・加工しても、「スクレイピング」には違いないのです。
では、実際にスクレイピングを行う場合ですが、いくつか注意点があります。
一つ目は、サイトの利用規約をよく確認することです。
ツールでHTMLを取得して解析する場合、異常負荷から攻撃扱いされることがあります。
場合によっては、スクレイピング(ロボットアクセス)を禁止していることもあるため、サイトの利用規約をよく確認する必要があります。
二つ目は、サイトマップやrobots.txtの記述を守ること。
サイトをクローリングする場合は、サイトマップの指定やrobots.txtの設定を守る必要があります。
その他、メタタグの設定やリンク属性の設定も守らないといけません。
こちらは、守らないと業務妨害や動産不法侵入として訴えられることもあるので、かなり注意が必要です。
Amazon、Twitter、Instagramはロボットアクセス禁止だそうで、専用APIの利用を推奨しているようです。
有力なサイトであればあるほど、スクレイピングでデータ分析したくなるわけですから、こういったところは痛し痒しですね。
スクレイピングで検索すると、いろいろ工夫してロボットアクセス扱いにならないように、ウェイトをかけたりユーザーエージェントを設定したりと色々試行錯誤している情報が出てきます。
最低限、法律違反にならないようなスクレイピングの作法を身に着けたいものです。
それでは。