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 サイトの他の関連記事を参照してください。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1
使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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