Pythonでurllib2を使ってインターネット上のリソースを取得する方法

提供: Python入門
移動: 案内検索
スポンサーリンク

urllib2 とは、URLで表されるインターネットのリソース(コンテンツ)を取得するためのPythonモジュールです。

読み方

urllib2
ゆーあーるえる りぶ つー

概要

urllib2を使って、ウェブサーバからコンテンツを簡単に取得できます。 urllib2は、いくつものURLスキームををサポートしています。HTTP以外にFTPにも対応しています。 なので

ftp://foo.org/

のようにすれば、ftpでアクセスすることもできます。

Python2では、urllib2を使えばよいですが、Python3では、urllib.requestを使用します。

ソースコード

Python2 向け urllib2_get_http_content.py

ここでは、Yahoo! JAPAN のサイトのページコンテンツを取得し、表示するプログラムを紹介します。取得したHTMLがそのまま表示されます。

#! /usr/bin/env python
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# Copyright © 2015 kaoru <kaoru@bsd>
 
"""
 
"""
import urllib2
url = 'http://www.yahoo.co.jp/'
response = urllib2.urlopen(url)
html = response.read()
print html

実行例

$ python urllib2_get_http_content.py

エラー

No module named urllib2 となってしまったとき

urllib2 がないときに、以下のエラーになります。

    import urllib2
ImportError: No module named 'urllib2'

問題の行は、下記の行です。

import urllib2

urllib2 のかわりに urllib.request を使用すれば良いので、ソースコードを書き換えてもいいのですが、urllib2 があちこちに書かれていると修正に時間がかかります。短期間で、応急処置をしたい場合には、 urllib.request を urllib2 として import します。

try:
    import urllib.request as urllib2
except ImportError:
    import urllib2

関連項目

  • Pythonでurllib2を使ってインターネット上のリソースを取得する方法


スポンサーリンク