目次
はじめに
urllib.request モジュールの基本機能
urllib.request を使用して URL を開く
ファイルのダウンロード
POST リクエストを使用する
プロキシの使用
概要
ホームページ バックエンド開発 Python チュートリアル Python 3.x で URL 操作に urllib モジュールを使用する方法

Python 3.x で URL 操作に urllib モジュールを使用する方法

Jul 31, 2023 pm 06:06 PM
python urllib URL操作

Python 3 で URL 操作に urllib モジュールを使用する方法xx

はじめに

ネットワーク開発を行う場合、URL を処理する必要があることがよくあります。 Python は urllib モジュールを提供します。このモジュールでは、urllib.request サブモジュールが URL 操作を簡単に実行できます。この記事では、urllibを使用してURLを開く、読み取る、ダウンロード、アップロードなどの操作を行う方法を紹介します。

urllib.request モジュールの基本機能

urllib.request モジュールは、URL と対話するための関数を提供します。一般的に使用される関数は次のとおりです:

  • urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, *, cafile=None, capath=None, cadefault=False, context=None): URL を開いてファイルのようなオブジェクトを返します。オプションのパラメータでは、POST データ、タイムアウト、証明書、その他の情報を指定できます。
  • urlretrieve(url, filename=None, reporthook=None, data=None): URL の内容を指定されたファイルにダウンロードします。
  • urlopen(url, data=None)urlretrieve(url) はどちらも同期であり、操作が完了するまでプロセスをブロックします。

urllib.request を使用して URL を開く

次は、urlopen を使用して URL を開いてそのコンテンツを読み取る方法を示す簡単な例です。ウェブページ。

import urllib.request

url = "https://www.example.com"
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')

print(html)
ログイン後にコピー

この例では、まず urllib.request モジュールをインポートします。次に、開く必要がある Web ページのアドレスである URL を定義します。次に、urlopen 関数を使用して URL を開き、返されたファイルのようなオブジェクトを response 変数に割り当てます。

response.read() 関数を使用して、URL によって返されたコンテンツを読み取ります。文字エンコーディングを適切に処理するには、decode('utf-8') を使用してコンテンツを文字列にデコードします。最後に、結果の文字列を出力します。

ファイルのダウンロード

次に、urlretrieve 関数を使用してファイルをダウンロードする方法を説明します。

import urllib.request

url = "https://www.example.com/example.png"
filename = "example.png"

urllib.request.urlretrieve(url, filename)
print("文件下载完成")
ログイン後にコピー

この例では、最初に urllib.request モジュールもインポートします。次に、ダウンロードする必要があるファイル URL を定義し、変数 url に保存します。次に、ダウンロード後に保存するファイル名を定義し、変数 filename に保存します。

最後に、urlretrieve 関数を使用して、URL にあるファイルを指定したファイル名でダウンロードして保存します。ダウンロードが完了すると、プロンプトメッセージが出力されます。

POST リクエストを使用する

GET リクエストを使用して URL を開くだけでなく、場合によっては POST リクエストも使用する必要があります。以下は、POST リクエストを使用したサンプルコードです。

import urllib.request
import urllib.parse

url = "https://www.example.com/example"
data = {"name": "Example", "age": 20}
data = urllib.parse.urlencode(data).encode('utf-8')

response = urllib.request.urlopen(url, data=data)
html = response.read().decode('utf-8')

print(html)
ログイン後にコピー

この例では、urllib.request モジュールと urllib.parse モジュールもインポートしました。 POST リクエストを必要とする URL を定義しました。次に、POST リクエストのデータを定義し、urlendcode 関数を使用して URL 形式にエンコードし、バイト ストリームに変換します。

最後に、urlopen 関数を使用して、要求された URL とデータを指定します。同様に、返されたコンテンツを読み取り、印刷します。

プロキシの使用

ネットワーク アクセスでは、プロキシを使用する必要がある場合があります。以下はプロキシを使用したサンプルコードです。

import urllib.request

url = "https://www.example.com"
proxy = {"http": "http://localhost:8080"}

proxy_handler = urllib.request.ProxyHandler(proxy)
opener = urllib.request.build_opener(proxy_handler)
urllib.request.install_opener(opener)

response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')

print(html)
ログイン後にコピー

この例では、URL とプロキシのアドレスを定義します。次に、urllib.request.ProxyHandler 関数を使用してプロキシ ハンドラーを作成し、プロキシに渡します。次に、urllib.request.build_opener 関数を使用してカスタム オープナーを作成し、その引数としてプロキシ プロセッサを設定します。

最後に、urllib.request.install_opener 関数を使用して、カスタム オープナーをグローバル オープナーとしてインストールします。このようにして、各 urlopen はカスタム オープナーを使用して URL を開きます。

概要

この記事では、Python 3.x での URL 操作に urllib モジュールを使用する方法を紹介します。サンプル コードを使用して、URL コンテンツを開いて読み取る方法、ファイルのダウンロード、POST リクエストの使用、プロキシの使用、その他の操作の方法を示しました。実際の開発では、urllib モジュールが提供する関数を使用して、特定のニーズに応じてより複雑な URL 操作を実行できます。

以上がPython 3.x で URL 操作に urllib モジュールを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PythonインタープリターはLinuxシステムで削除できますか? PythonインタープリターはLinuxシステムで削除できますか? Apr 02, 2025 am 07:00 AM

Linux Systemsに付属するPythonインタープリターを削除する問題に関して、多くのLinuxディストリビューションは、インストール時にPythonインタープリターをプリインストールし、パッケージマネージャーを使用しません...

Pythonでのカスタムデコレータのパイランスタイプ検出の問題を解決する方法は? Pythonでのカスタムデコレータのパイランスタイプ検出の問題を解決する方法は? Apr 02, 2025 am 06:42 AM

Pythonプログラミングでカスタムデコレーターを使用する場合、Pylance Type検出問題解決策デコレーターは、行を追加するために使用できる強力なツールです...

PythonのTQDMでの印刷によって引き起こされる進行状況バーの問題を避ける方法は? PythonのTQDMでの印刷によって引き起こされる進行状況バーの問題を避ける方法は? Apr 01, 2025 pm 11:48 PM

ループ内で印刷を使用する場合、PythonのTQDMライブラリを使用する場合、PythonのTQDMでの印刷によって引き起こされる進行状況バーの問題を避けてください...

PythonのHTTPXライブラリを使用してHTTP/2 POSTリクエストを送信する方法は? PythonのHTTPXライブラリを使用してHTTP/2 POSTリクエストを送信する方法は? Apr 01, 2025 pm 11:54 PM

PythonのHTTPXライブラリを使用してHTTP/2を送信します...

FastapiとAIOHTTPは同じグローバルイベントループを共有していますか? FastapiとAIOHTTPは同じグローバルイベントループを共有していますか? Apr 02, 2025 am 06:12 AM

Pythonの非同期ライブラリ間の互換性の問題Python、非同期プログラミングは、高い並行性とI/Oのプロセスになりました...

Python 3.6のロードピクルスファイルエラーmodulenotfounderror:ピクルスファイル「__builtin__」をロードした場合はどうすればよいですか? Python 3.6のロードピクルスファイルエラーmodulenotfounderror:ピクルスファイル「__builtin__」をロードした場合はどうすればよいですか? Apr 02, 2025 am 06:27 AM

Python 3.6のピクルスファイルの読み込みエラー:modulenotfounderror:nomodulenamed ...

See all articles