Pythonを使用してHTTP APIからデータを取得します
pythonはhttp APIに効率的にアクセスします:ライブラリを要求し、キャッシュを要求します
この記事は「Practical Python」から抜粋されており、著者のStuartは、Pythonといくつかのサードパーティモジュールを使用してHTTP APIに簡単にアクセスする方法を示しています。
ほとんどの場合、サードパーティのデータを処理するには、HTTP APIへのアクセスが必要です。つまり、手動ではなくマシンで読み取るように設計されたWebページにHTTPリクエストを送信します。 APIデータは通常、通常はJSONまたはXMLでマシン読み取り可能な形式です。 Pythonを使用してHTTP APIにアクセスする方法を見てみましょう。HTTP APIを使用する基本原則は簡単です:
- APIのURLにHTTPリクエストを送信します。これには、認証情報(APIキーなど)が含まれる場合があります。
- データを取得します。
- データを使用して、有用な操作を完了します。
モジュールです。これは、Pythonの組み込みrequests
urllib.request
よりもHTTPデータをより便利にするPython用のHTTPライブラリであり、python -m pip install requests
を使用してインストールできます。
その使いやすさを示すために、PixabayのAPIを使用します(ここに文書化されています)。 Pixabayは、すべての画像を再利用できる写真Webサイトであり、非常に便利なリソースになります。フルーツの写真に焦点を当てます。後でファイルを操作するとき、収集されたフルーツの写真を使用しますが、今ではフルーツの写真を見つけたいだけです。
最初に、Pixabayでどの写真が利用できるかをすぐに確認します。私たちは100枚の写真をつかみ、それらをすばやく閲覧し、私たちが望むものを選択します。これを行うには、Pixabay APIキーが必要なため、アカウントを作成してから、APIドキュメントの検索画像セクションからキーを取得する必要があります。
モジュールを要求
requests
モジュールを使用してHTTP要求をAPIに行うことの基本バージョンには、HTTP URLの構築、リクエストの作成、および読み取り応答が含まれます。ここで、応答はJSON形式です。 requests
モジュールは、各ステップを非常にシンプルにします。 APIパラメーターはPython Dictionaryであり、APIがJSONを返す場合、get()
はrequests
を返信します。したがって、単純な呼び出しは次のようになります:.json
import requests PIXABAY_API_KEY = "11111111-7777777777777777777777777" base_url = "https://pixabay.com/api/" base_params = { "key": PIXABAY_API_KEY, "q": "fruit", "image_type": "photo", "category": "food", "safesearch": "true" } response = requests.get(base_url, params=base_params) results = response.json()
キャッシュhttp要求while
を使用してインポートして
を作成してから、の代わりにrequests
を使用してURLを取得するには、余分な労力なしでキャッシュのメリットを取得します。
python -m pip install requests-cache
出力を生成requests-cache
requests_cache
クエリの結果を表示するには、どこかに画像を表示する必要があります。便利な方法は、シンプルなHTMLページを作成して各画像を表示することです。 Pixabayは各画像に小さなサムネイルを提供します。これはAPI応答でCachedSession
と呼ばれるため、HTMLページを作成してこれらすべてのサムネイルを表示し、メインのPixabayページにリンクできます。写真家に欲しいと署名してください。したがって、ページの各画像は次のようになるかもしれません:session.get
requests.get
リストの理解を使用して
を使用してすべての結果を大きな文字列に連結します。
そのリストで非常にシンプルなHTMLページを書き出すと、Webブラウザで簡単に開き、APIから取得したすべての検索結果をすばやく表示し、それらのいずれかをクリックしてダウンロードをジャンプしてフルまでジャンプします。 Pixabayページ:
previewURL
images
この記事は実用的なPythonから抜粋されており、SitePoint Premiumおよび電子書籍の小売業者で購入できます。 "n".join()
(以下はFAQであり、元のテキストに従って書き直され、合理化されています)
PythonのHTTP API(FAQS)
-
HTTPとHTTPSの違いは何ですか? HTTPはハイパーテキスト転送プロトコルであり、HTTPSは安全なハイパーテキスト転送プロトコルです。主な違いは、HTTPSがSSL証明書を使用して、サーバーとクライアントの間に安全な暗号化された接続を確立することですが、HTTPはそうではありません。これにより、クレジットカード情報やログイン資格情報などの機密データを転送するときに、HTTPSがより安全になります。
-
pythonでHTTPはどのように機能しますか? Pythonで複数のライブラリを使用してHTTPリクエストを発行できます。最も一般的に使用されるのは
requests
です。このライブラリを使用すると、Cookieの処理、フォームデータ、マルチパートファイルなど、HTTPリクエストとプロセス応答を送信できます。これは、Webサービスと対話するための強力なツールであり、さまざまなアプリケーションで使用できます。 -
一般的なHTTPメソッドは何ですか? Pythonでそれらを使用する方法は? 最も一般的なHTTPメソッドは、取得、投稿、配置、削除、ヘッド、オプション、およびパッチです。 Pythonでは、これらの方法を使用するために
requests
ライブラリを使用できます。たとえば、get requestを送信するには、requests.get(url)
を使用して、POSTリクエストを送信するには、requests.post(url, data)
を使用できます。 -
PythonでHTTP応答を処理する方法は?
requests
ライブラリを使用してPythonでHTTPリクエストを送信すると、応答オブジェクトが表示されます。このオブジェクトには、リクエストに対するサーバーの応答が含まれています。応答がJSON形式である場合、response.text
またはresponse.json()
を使用して、応答のコンテンツにアクセスできます。また、response.status_code
を使用して、応答のステータスコードを確認することもできます。 -
PythonでHTTPヘッダーを使用する方法は?
requests関数の headers
パラメーターに辞書として渡すことにより、Pythonでそれらを使用できます。たとえば、requests.get(url, headers={'User-Agent': 'my-app'})
。ヘッダーを使用して、ユーザーエージェント、コンテンツタイプ、承認など、リクエストまたはクライアントに関する追加情報を提供できます。 -
PythonでCookieを処理する方法は? cookieは、応答オブジェクトの
cookies
属性を使用してpythonで処理できます。response.cookies
を使用してサーバーから送信されたCookieにアクセスし、requests
関数のcookies
パラメーターに辞書として渡すことにより、サーバーにCookieを送信できます。 -
pythonのpost requestを使用してフォームデータを送信する方法は?
フォームデータを 関数のパラメーターに辞書として渡すことにより、PythonのPOSTリクエストを使用して送信できます。たとえば、requests.post
。data
ライブラリは、データを正しい形式で自動的にエンコードします。requests.post(url, data={'key': 'value'})
requests
- PythonでPOSTリクエストを使用してファイルを送信する方法は?
ファイルは、PythonのPost Requestsを使用して辞書として 関数のパラメーターに渡すことにより、送信できます。辞書には、ファイルフィールドの名前をキーとして、ファイル名とファイルオブジェクトを値として含むタプルを含める必要があります。
-
pythonの
requests
ライブラリのエラーと例外を扱う方法は? Pythonのライブラリは、ネットワークエラーやタイムアウトなどの特定のタイプのエラーの例外をスローします。 Try/を除くブロックを使用して、これらの例外をキャッチし、適切に処理できます。応答のステータスコードを確認して、HTTPエラーを処理することもできます。requests
-
Pythonで非同期HTTPリクエストを作成する方法は? ライブラリを使用して、Pythonで非同期HTTPリクエストを発行できます。このライブラリを使用すると、HTTPリクエストを非同期的に送信して応答を処理できます。これにより、多数のリクエストを処理する際にアプリケーションのパフォーマンスが大幅に向上する可能性があります。
aiohttp
以上がPythonを使用してHTTP APIからデータを取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

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

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

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

Investing.comの反クラウリング戦略を理解する多くの人々は、Investing.com(https://cn.investing.com/news/latest-news)からのニュースデータをクロールしようとします。
