【記事の目標】
PythonでWebページの情報を取得する。
【作業手順】
1.requestsをインポート
2.Webページを取得しよう
3.取得した情報をコンソールに出力してみよう
1.requestsをインポート
今回はpythonの標準ライブラリのrequestsを利用するため、インストールは不要です。
以下のように記載し、インポートしましょう。
import requests
これで、requestsが利用できるようになりました。
2.Webページを取得しよう
ここからが本題です。実際にWebページを取得してみましょう。
今回は皆さんがよく目にしているGoogleのトップページを取得してみましょう。
if __name__ == '__main__':
site_data = requests.get("https://www.google.co.jp/")
上の行はおまじないです。
このrequests.get()で対象のページのデータをsite_dataという変数に値を設定しています。
3.取得した情報をコンソールに出力してみよう
「2.」の処理で、site_dataにWebページのデータが入っていますので、これをprint()しましょう。
先ほどの行の下に、以下を追加しましょう。
※Webページのデータを表示させる場合は「変数名.text」でテキストにしないと正しく取得できません。
print(site_data.text)
正しい値の出力ができると以下のようにコンソールに出力されます。
この取得結果を見て、
「これが本当にGoogleのトップページなの?」
と疑問が出てくるかと思います。
例えば、中央の行に各コンテンツが羅列されていますので、それぞれのhref属性のURLをクリックしてみて、実際のGoogleのトップ画面からクリックした場合と同じ場所に飛ぶかを確認すれば、疑問も解消できるかと思います。
例えば、Gmailとか...
【テキストに変換せずに出力した場合】
コードはこちら。
print(site_data)
結果は以下となります。
HTTPレスポンスの結果が表示されていますね。
今回はWebページのデータが欲しいので、テキスト化して出力しましょう。
今回は、Webページのデータを取得してみました。
スクレイピングの入り口のようなものですが、例えば、URLを変えたり、取得したデータのこのタグだけ取得したりと、本当に何でも出来てしまいます。
このデータを活用することで、楽をするためのプログラミングを実感できると思います。
「仕事でプログラムを書いています」という人よりは、「定時にスクレイピングプログラムを実行して、気になったキーワードのニュースをまとめています」という人の方がプログラミングを楽しんでいると私は思います。
今回はコード量は少ないですが、結構難しい部分だったのではないかと思います。
少しずつ理解して、ゆっくりプログラミングを楽しんでいきましょう。