[初めてのPython]requestsの動きを見てみよう!

Webスクレイピングをするにあたって、まず考える必要があるのは
欲しい情報をどのWebページから持ってくるか(どのWebページ情報が欲しいか)です。
そこで使われるのがPythonが(ライブラリとして)持っているrequestsです。
本記事ではrequestsについて理解を深めましょう!

スポンサーリンク

Webページが表示される仕組み

Webページ表示の仕組みを知ることで、requestsの働きをより理解出来るようになります。
普段私たちがインターネットを使って何かをサイトをみるときには、
自分が使っているパソコンから、サイトの情報を持っているサーバーに○○の情報をくださいとお願いしたあとで、パソコン上に表示される仕組みになっています。

f:id:Souman:20210320120757p:plain

この自分が使っているパソコンから、サイトの情報を持っているサーバーに○○の情報をくださいとお願いすることを”リクエスト”といい、サーバーがリクエストに対して情報を渡すことを”レスポンス”といいます。
これをPythonでしたいとなったときに必要なのが、次で紹介する”requests”というライブラリになります。

Reaestsの動きを見る前の準備!

Macを使用している方は”ターミナル”
Windowsを使用している方は”コマンドプロンプト”もしくは”Powershell”を開きます。
そして以下のコマンドを打ってEnterを押します。これによりいつでも自分のPCでrequestsを使える状態にします。

$ pip install requests

次に”python”もしくは”python3″と入力し、Enterを押します。これでPythonの動作確認が出来るようにします。

$ python3

ターミナル(コマンドプロンプト)の右側が>>>と表示されていれば、Pythonの動作確認が出来る状態になっています。これをインタラクティブシェルといい、コードを1行ごとに確認できます。

>>>

この状態で今度は

>>> import requests

と打って、Enterを押してみましょう。

>>>

と何も表示されていなければ、OKです。 何かごちゃごちゃと出ている場合は正常にinstallができていない可能性がありますので、一度

>>> quit()

と入力して、再度

$ pip install requests

からやり直してみてください。

requestsの動きをみよう!

ここまでお疲れ様でした。ここからようやくrequestsの動きを観察出来るようになります!最初は設定で疲れちゃいますが、慣れるまでは毎回設定手順を見て、ゆっくりと進んでいきましょうね。
今回は”はてなブログ”のURLを用いて遊んでみましょう。

はてなブログ | 無料ブログを作成しよう
はてなブログは、無料でしっかり書けるブログサービスです。日々の生活から感じたこと、考えたことを書き残しましょう。
>>> requests.get("https://hatenablog.com/")

と入力後Enterを押してみましょう。

<response[200]>

と表示されていればOKです。
200ってなんぞや。となるかと思いますが、これはお願いしたらちゃんと返事くれたよ〜ってことです。
この数字(ステータスコード)が403とか500とかになっていると、ちゃんと返事が得られなかった。。。ということになります
厳密には数字はcodeといってそれぞれ詳しい意味を知りたい場合はgoogle先生にお聞きしてみてください
先ほどのコードで返事はくれたわけ何ですが、中身がまだ我々が読める状態にありませんので、読めるようにしていきます。

>>> response = requests.get("https://hatenablog.com/")

と打って、Enterを押す。この”=”は代入を表しており、右辺を左辺に代入するという意味になります。なので、サーバーからいただいたお返事を”response”という所に置きました。自宅ポストに投函されるイメージを持っていただければと思います
次にいただいたお返事を開封して読みたいので

>>> print(response.text)

と打ってEnterを押してみてください。
すると、こんな感じの膨大な情報が表示されます。

f:id:Souman:20210319175449p:plain

この表示されている文字がHTMLと言われる、Webページを構成している正体です。
ここまでがrequestsの役割であり、

  • サーバーへ欲しい情報を送ってもらうようお願いする。
  • サーバーから情報をもらう

この2点を理解できれば、十分です!



次に理解すること

私たちはネット上に欲しい情報があれば、サイトを調べて、そこから自分の欲しい情報を取ってきますよね。
requestsではサイトを調べるところまでをやりました。
requestsの動きが何となくわかれば、次にやることとしてサイトの情報つまり、HTMLから欲しい画像、リンク、文字を取り出す作業が必要になります。
Pythonでこの作業を行うのに使用するのが”BeautifulSoup“です。
何とも美味しそうなスープ。。。名前がインパクト大なので覚えやすいですね(*゚▽゚*)
今後BeutifulSoupについても改めて概要から説明できればと思います。
本記事を読んでいただきありがとうございました。

コメント

タイトルとURLをコピーしました