Python urllibでウェブデータにアクセス:実践ガイド
Python urllibでウェブデータにアクセス
urllibとは
urllibは、URLを開いてウェブリソースを扱うことをシンプルにするPythonの組み込みモジュールです。URLの取得、解析、処理のための関数とクラスを提供し、開発者がXML、HTML、JSON、その他のデータ形式をインターネットから直接取得できるようにします。
このチュートリアルでは、urllibを使って以下を実演します:
- URLを開いてHTTPレスポンスコードを確認。
- ウェブページの全HTMLコンテンツを読み取り。
urllibでURLを開く
ネットワークリクエストを実行する前に、適切なurllibモジュールをインポート:
import urllib.request # Python 3
# import urllib2 # Python 2(新しいリリースでは非推奨)
メインルーチンを定義し、ターゲットURLを指定、urlopen()で接続を開きます。例としてGuru99のYouTubeチャンネルを使用:
def main():
url = urllib.request.urlopen("https://www.youtube.com/user/guru99com")
print("result code: " + str(url.getcode()))
data = url.read()
print(data.decode('utf-8'))
if __name__ == "__main__":
main()
getcode()メソッドはHTTPステータスコード(成功時は200など)を返します。read()メソッドはページの生バイトを取得し、UTF-8でデコードして可読化します。
HTMLコンテンツの読み取り
URLが開かれたら、単にread()を呼び出してHTMLを取得できます。結果のバイト列はHTMLドキュメント全体を表し、BeautifulSoupなどのライブラリでパースしたり直接表示したりできます。
以下はコンソールでのデコード済みHTML出力の視覚例:

完全なコードサンプル
参照用に、Python 2とPython 3両環境向けの完全スクリプトを以下に掲載します。
Python 2の例
import urllib2
def main():
web_url = urllib2.urlopen("https://www.youtube.com/user/guru99com")
print("result code: " + str(web_url.getcode()))
data = web_url.read()
print(data)
if __name__ == "__main__":
main()
Python 3の例
import urllib.request
web_url = urllib.request.urlopen('https://www.youtube.com/user/guru99com')
print('result code: ' + str(web_url.getcode()))
print(web_url.read().decode('utf-8'))
Python
- SaaSとクラウドをナビゲートする:なぜ綿密なデータ管理が重要なのか
- Python キーワードと識別子: 予約語と命名規則をマスター
- Python 文・インデント・コメント: 明確なガイド
- Python 変数・定数・リテラル: 包括的ガイド
- Python データ型マスター: 実践ガイド
- Python 型変換とキャスト: 包括的ガイド
- Python I/Oとモジュールインポート完全マスター: 実践ガイド
- Python グローバル・ローカル・非ローカル変数を理解する
- Pythonディレクトリ・ファイル操作マスター:作成、移動、一覧、リネーム、削除
- Pythonエラーと組み込み例外をマスターする
- Python例外処理マスター:try、except、else、finallyを徹底解説