学びをアウトプットするブログ

PythonでWebサイトの内容を読み込んでみる

PythonでWebサイトの情報を取得することにする。 Webサイトを読み込むなら標準ライブラリのurllibを利用するといいらしい。詳しくはurllib.requestを読むと。

とりあえずURLを開いていく

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from urllib.request import urlopen

file = urlopen('https://dhonuk.com')

# 取得したURLを返す
print(file.geturl())
https://dhonuk.com

# 取得したURLのヘッダー情報
print(file.info())
Date: Mon, 09 Apr 2018 10:43:26 GMT
Server: Apache
Last-Modified: Sun, 08 Apr 2018 14:11:45 GMT
(略)
# レスポンスのステータスコード
print(file.getcode())
200

自分のサイトを開いてみた。ヘッダー情報なんかがサクッと取得できる。 urlopenはHTTPResponseを返すとのこと。詳しくはHTTPResponse オブジェクト

# 本体を読み込む
text = file.read()
print(text)
b'<!DOCTYPE html>\n (略)'

これで本体が読み込めるのですが、このHTTPResponseオブジェクトはbyte型のためにこのままでは色々できません。 ということでこれを文字列として扱いたいので、デコードします。

str_text = text.decode('utf-8')
print(str_text)
<!DOCTYPE html>(略)

これで文字列になりました。 今日はここまで。