HTTP access
Web ページアクセス
Web page にアクセスしようと思えば、TCP 接続で Web server の http ポート(標準: 80)にアクセスすれば大丈夫です。
ただ、HTTP protocol を理解してないといけません(「http telnet」などで検索すると、感じが分かってもらえるかと)。 https のサイトにアクセスするなら TLS の使い方(handshake や公開鍵認証の仕方)も分かっていないといけません。 そんなの、各自がプログラムに書いていたら大変です。
Python の標準ライブラリにはurllibというのがあるのですが、 もう少し気楽に text を扱える Requests というHTTPライブラリもあるので、そちらの例を紹介しておきます。簡単な使い方はquickstartのページを見てください。
それと、標準ライブラリ以外を使うので、pip
を用いてライブラリ登録をしないといけないです。各環境に合わせた操作をおこなってください。
- PyCharm では、プロジェクト直下の
requirements.txt
を表示すると、不足しているパッケージがインストールできる。 - VS Code では、terminal で、
python -m pip install --user -r requirements.txt
を実行すると、同じく不足パッケージのインストールが可能です。
# requests というライブラリを利用する宣言
import requests
def url_access():
url_string = 'https://www.nc.ii.konan-u.ac.jp/projects/cloudSysPractice/'
# requests ライブラリの get 関数を利用
response = requests.get(url_string) # URL のテキストを取得
response.encoding = response.apparent_encoding # 文字コード設定
print(response.text)
- ライブラリを利用する場合、
import requests
のように利用ライブラリを宣言する- 利用側では、
requests.get(...)
とライブラリ名と関数名を指定して利用 - 実は、冒頭に
from requests import get
とすれば、利用側はget(...)
でも OK *(まあでも、このケースでは紛らわしくなりそうなので、そうしてない)
- 利用側では、
- 前述したように、ライブラリを利用するためには、事前にライブラリを配置する必要があるが、
requirements.txt
などで指定すれば、pip が自動でネットワーク経由で取得してくれる。