業務でもクローラを見ることが多いのですが、今回は新しくクローラ作るならとりあえずDjango+Celery使うだろうなぁということで、個人でサンプル書いて見つつ思ったところをつらつらと書いてみようと思います。 クローラの基本的な処理段階 クローラといっても人によって微妙に定義が違う状態で会話する事が多いのでとりあえず今回の対象は、 一定の条件に従ってWebページのリンクを収集する 各リンク内のページ内容をスクレイピングする スクレイピングした後の処理については、今回は対象外とする という前提でお話します。 今回のサンプルの構成 y-matsuwitter/django_sample_crawler 今回サンプル書く上での構成ですが、 Python 3.4.3 Django 1.9 Celery 3.1.19 lxml 3.5.0 requests 2.8.1 を利用し、下記を実施するものを
![DjangoとCeleryでクローラを書きながら考えた由無し事 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/e532bcf3d34acbe073646ebbe94c0a6cddb1e5e1/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9RGphbmdvJUUzJTgxJUE4Q2VsZXJ5JUUzJTgxJUE3JUUzJTgyJUFGJUUzJTgzJUFEJUUzJTgzJUJDJUUzJTgzJUE5JUUzJTgyJTkyJUU2JTlCJUI4JUUzJTgxJThEJUUzJTgxJUFBJUUzJTgxJThDJUUzJTgyJTg5JUU4JTgwJTgzJUUzJTgxJTg4JUUzJTgxJTlGJUU3JTk0JUIxJUU3JTg0JUExJUUzJTgxJTk3JUU0JUJBJThCJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkNtaWRkbGUmcz04MmI3OWQ4OGVkYjgxMjY3MzdjZWI1MmE5ZDM2NjAyNA%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQweV9tYXRzdXdpdHRlciZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YTE4MGQ3Yjg3NTQyMTE5M2RkMmNlMWZhZTIyNzdmMjc%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D80e3b496d83282545e494ac0e12b11d8)