ウェブスクレイピングとは、
ウェブスクレイピング(Web scraping)とは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。ウェブ・クローラー(Web crawler) あるいはウェブ・スパイダー(Web spider)とも呼ばれる。 通常このようなソフトウェアプログラムは低レベルのHTTP(Hypertext Transfer Protocol)を実装することで、もしくはInternet ExplorerまたはMozilla FirefoxなどのWebブラウザを埋め込むことによって、人間によるWWWのブラウジングをシミュレートする。
のことです。
どんな言語を使っても実装出来ないことはないですが、C++やJavaを使って実装するよりは、Perl,Python,Rubyを使って実装するほうが容易です。当ブログはPythonのブログなので、Pythonを使ってウェブスクレイピングをやってみたいと思います。
一番最初に、ウェブスクレイピングの中でももっともシンプルなプログラムを書いてみたいと思います。urllibというライブラリを使って、当ブログのURLにアクセスし、HTMLを一行ずつ出力するという簡単なプログラムです。
In [1]: import urllib In [2]: html = urllib.urlopen("http://oneshotlife-python.hatenablog.com/") In [3]: print(html.readline()) <!DOCTYPE html> In [4]: print(html.readline()) <html In [5]: print(html.readline()) lang="ja" In [6]:
readline()のところをread()で取得すれば、当ブログのHTMLが丸丸取得出来ます。今回は、サンプルコードなので、readline()を使って一行一行取得しましたが、ウェブスクレピングをするなら、HTMLを丸丸取得して、それらを解析したほうがよいかもしれません。
ちなみに、Pythonを使ってウェブスクレイピングを行う手法を解説した書籍が最近発売されました。当ブログは、その書籍を参考にしています。洋書しかないのが残念ですが、いつか、翻訳されてくれることと思っています。オライリーから出版されている、骨太の本です。
Oreilly & Associates Inc
売り上げランキング: 7,065