導入
まずはスクレイピングが「何をしているのか」を、流れとして押さえましょう。人間がブラウザでやっていることを、プログラムに肩代わりさせるだけです。
説明
スクレイピングは、おおむね次の4ステップで進みます。
flowchart LR A[URLへ<br/>リクエスト] --> B[HTMLを<br/>受け取る] B --> C[HTMLを<br/>解析する] C --> D[必要な情報を<br/>取り出す]
- リクエスト:ほしいページの URL にアクセスする(ブラウザでURLを開くのと同じ)。
- レスポンス:サーバーから HTML のテキストが返ってくる。
- 解析(パース):ただの文字列である HTML を、タグの構造として読み解く。
- 抽出:その構造の中から、見出しや価格など必要な部分だけを取り出す。
Python では、①②を requests(次章以降で紹介)、③④を BeautifulSoup が担当します。このコースの中心は、いちばん奥の③④――つまり「受け取った HTML から目的の情報を取り出す」技術です。
やってみよう
自分がよく見るサイトを1つ思い浮かべ、「そこから自動で集めたい情報(見出し・価格・日付など)」は何かを考えてみましょう。スクレイピングは「取りたいものを先に決める」ところから始まります。