[ホーム] - [よく見るエラーメッセージ一覧] - [urllib.error.URLError: の原因と対処]

【Python】urllib.error.URLError: の原因と対処 | インターネットからファイルをダウンロードするサンプル





作成日:2022/02/18


urllib.request.urlretrieve でインターネット上のファイルをダウンロードしようとしたところ次のエラーが発生しました。


urllib.error.URLError:


色々な原因が考えられると思います。
今回は次の例のように http:/// と / が3個続けられているのが原因でした。
このようにURI アドレス指定に誤りがある場合、この"urlopen error no host given"エラーが発生するようです。


【間違い】

import urllib.request

url='http:///example.com/test.txt'

# \\escape
download_file_name='c:\\temp\\test2.txt'

urllib.request.urlretrieve(url, download_file_name)

Traceback (most recent call last):
File "c:\temp\test.py", line 8, in urllib.request.urlretrieve(url, download_file_name)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 239, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 214, in urlopen
return opener.open(url, data, timeout)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 514, in open
req = meth(req)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 1266, in do_request_
raise URLError('no host given')
urllib.error.URLError:

サンプルコード

以下は Windows 10 環境における正常実行可能なサンプルコードです。

Windows 環境におけるインターネット上のWebサーバからファイルをダウンロードするサンプルを紹介します。
urllib はURLを利用するための便利なモジュール群です。
この中の urllib.request は URLs を取得するための Python のモジュールです。

次のサンプルではWebサーバ上からファイルをダウンロードします。

download_file_name にはファイルをダウンロードするローカルのファイル名を指定します。
サンプルコード:


import urllib.request

url='http://tooljp.com/test.txt'

# \\escape
download_file_name='c:\\temp\\test2.txt'

urllib.request.urlretrieve(url, download_file_name)







本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [よく見るエラーメッセージ一覧]