Webサイトのクローラビリティをチェックする
これはクローラー/スクレイピング Advent Calendar 2014の18日目の記事です。
Webサイトをクローリング、スクレイピングしたいと思ったとき、はじめに何をするでしょうか?
私はとりあえずブラウザの開発者ツールでDOMを覗きますが、その後robots.txtや利用規約をチェックします。
そういう作業を繰り返すうちに面倒になってきたので、URLを与えるだけで自動的にクローラビリティ(クロールしやすさ)をチェックするWebサービスをやっつけで作りました。
Crawlability · Check the crawlability of web sites
適当にクロールしたいURLを入力してCheckボタンを押してみてください。
できること
クローラビリティとは言ってもまだコンセプトレベルで、以下のことができるだけです。
- 指定したURLの情報を表示する
- トップページの情報を表示する
- robots.txtを表示する
- よくあるXML SitemapのURLにアクセスして存在するか確かめる
- 利用規約っぽいページにアクセスしてみる
もう少しいい感じに情報を取得できるようにしたいです。
中身
https://github.com/capybala/crawlability
ちなみに内部では以前の記事で紹介したaiohttpを使っています。Python 3.3から使えるasyncioを使って並列にアクセスしています。
aiohttpはHTTPクライアントだけでなく、HTTPサーバーの機能も実験的ながら付いているので、Webインターフェイスはこれで作ってみました。