ネット情報を集める方法ってどうするんだろう?
どうも、じぇいかわさきです。
最近、Pythonネタを書いてないんですが、いきなり壁にぶち当たりいろいろと考えているだけで、先に進んでいないんですよね。
そもそも、スクレイピングを始めたのは、かの有名なマトリックスのスタート部分を夢見て、ネット上から必要な情報を探し集めてくる事だった。
そのうち、決められた場所(URL)から情報を抜き出してくる事は、完全ではないながらなんとなくできた。
これで夢が叶うぞ!そうおもったのですが、よくよく考えるとネット上のという部分の解決はなされていない事に気がついた。
ネット上の情報ってどう集めるんだ?っていうトラップに引っかかった感じ。
どうやれば・・・?
それを考え、ネットで検索しまくっている日々がつついていたんです。
じゃあ解決したかと言われると、解決していないが自分の解答です。
一つ分かったことは、クローラでできるらしい。
確かに、Googleも毎日ネットを巡回して新規のサイトや、更新があったページなどを集めているのだが、それが確かクローラって言ったと思った。
つまり、ネットを巡回するのはクローラを使えば良さそうなのだが、本当に実現できるのかが確証が持てないんです。
更に調べ続けてみると
クローラはあの水泳のクロールと一緒で、這いつくばるって意味らしい。つまりネットを這いつくばって情報を収集し続けることらしいので間違ってはいないようだ。
それに対して、スクレイピングはHTMLから余分な情報を切り捨て、自分のほしい情報だけにする方法だ。だから、分かっているURLに対しては有効だよね。
そして、スクレイピングはrequestsというライブラリで実行可能なことも、今までの勉強で分かっている。
じゃあ一体クロールを実現するにはどうしたら良いか?
なにやら、今までのrequestsとBeautifulSoupでコンテンツの取得や解析を行ってきたが、その機能とクローリングを一緒に、かつより簡単に実行するのがScrapyというものらしい。
まずは、このScrapyをインストールしないことには始まらないようだ。
という事で、今回このScrapyをインストールしてみた。
pip3 install scrapy
たったこれだけでインストールは自動的にやってくれる。非常に便利だ。
という事で、今回はScrapyを使うとクローリングからスクレイピングまでを一連で行ってくれる事が分かったので、今度はこのScrapyの使い方を学んでいくことにする。
本当は、もう少し具体的に紹介できると良かったのだが、調べることが多いのと、理解することに時間がかかってしまたのが原因かな。
次回は、もう少し突っ込んだ内容が紹介できるとイイね。