1章最初のWebスクレイパー

スクレイピングを始めると、ブラウザが行ってくれる細かいことすべてに感心するようになります。Webは、HTMLフォーマット、CSSスタイル、JavaScript実行、画像レンダリングなどの(ブラウザが提供してくれている)レイヤーがなかったとすれば、最初は少し怖気付く代物ですが、本章および次章で、ブラウザを使わずにどのように、フォーマットしてデータを解釈するかを学びます。

本章では、WebサーバにGETリクエストを送って特定のページを入手し、そのページのHTML出力を読み込み、探している内容だけを取り出すために単純なデータ抽出を行うという基本から始めます。

1.1 つなげる

ネットワーク管理業務やネットワークセキュリティにこれまであまり時間を費やしたことがなかったなら、インターネットの仕組みは少し神秘的に思えるかもしれません。ネットワークが実際正確にどんなことをしているかを、ブラウザを開いてhttp://google.comに接続するときに考えようとはしないし、今ではその必要もありません。実際、コンピュータインタフェースがこんなに進んで、インターネットを使うほとんどの人がネットワークがどうなっているのかを少しも考えなくて済むようにまでなっていることは素晴らしいと言えます。

しかし、Webスクレイピングでは、このインタフェースの覆いの一部を取り払い、ブラウザレベル(HTML、CSS、JavaScriptのすべてをどう解釈するか)だけでなく、ネットワークコネクションのレベルにまで立ち入る必要が生じます。

ブラウザで情報を得るのに必要なインフラストラクチャについて、感じをつかめるように、次のような例を使いましょう。アリスはWebサーバを持っています。ボブはデスクトップコンピュータを使って、アリスのサーバにつなげようとしています。あるマシンが別のマシンに話しかけるには、次のようなやり取りが行われます。 ...

Get PythonによるWebスクレイピング 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.