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()これはPythonオブジェクトを返し、APIドキュメントで示唆されているように、そのさまざまな部分を表示できます。100の結果を得るために、5つの呼び出しを行うことを決定することができます。それぞれが20の結果を得ることができますが、これは十分に堅牢ではありません。より良いアプローチは、希望する100の結果が得られるまで、リクエストページをループして停止することです。これにより、Pixabayが結果のデフォルト数(たとえば15)を変更すると問題が防止されます。また、検索用語に100枚の写真がない状況を処理することもできます。したがって、毎回ページ番号を増やし、100枚の画像に到達した場合、または取得する画像がない場合は、ループを終了します。
キャッシュ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 サイトの他の関連記事を参照してください。

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

PythonまたはCの選択は、プロジェクトの要件に依存します。1)迅速な開発、データ処理、およびプロトタイプ設計が必要な場合は、Pythonを選択します。 2)高性能、低レイテンシ、および緊密なハードウェアコントロールが必要な場合は、Cを選択します。

毎日2時間のPython学習を投資することで、プログラミングスキルを効果的に改善できます。 1.新しい知識を学ぶ:ドキュメントを読むか、チュートリアルを見る。 2。練習:コードと完全な演習を書きます。 3。レビュー:学んだコンテンツを統合します。 4。プロジェクトの実践:実際のプロジェクトで学んだことを適用します。このような構造化された学習計画は、Pythonを体系的にマスターし、キャリア目標を達成するのに役立ちます。

2時間以内にPythonを効率的に学習する方法は次のとおりです。1。基本的な知識を確認し、Pythonのインストールと基本的な構文に精通していることを確認します。 2。変数、リスト、関数など、Pythonのコア概念を理解します。 3.例を使用して、基本的および高度な使用をマスターします。 4.一般的なエラーとデバッグテクニックを学習します。 5.リストの概念を使用したり、PEP8スタイルガイドに従ったりするなど、パフォーマンスの最適化とベストプラクティスを適用します。

Pythonは初心者やデータサイエンスに適しており、Cはシステムプログラミングとゲーム開発に適しています。 1. Pythonはシンプルで使いやすく、データサイエンスやWeb開発に適しています。 2.Cは、ゲーム開発とシステムプログラミングに適した、高性能と制御を提供します。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Pythonはデータサイエンスと迅速な発展により適していますが、Cは高性能およびシステムプログラミングにより適しています。 1. Python構文は簡潔で学習しやすく、データ処理と科学的コンピューティングに適しています。 2.Cには複雑な構文がありますが、優れたパフォーマンスがあり、ゲーム開発とシステムプログラミングでよく使用されます。

Pythonを学ぶために1日2時間投資することは可能です。 1.新しい知識を学ぶ:リストや辞書など、1時間で新しい概念を学びます。 2。練習と練習:1時間を使用して、小さなプログラムを書くなどのプログラミング演習を実行します。合理的な計画と忍耐力を通じて、Pythonのコアコンセプトを短時間で習得できます。

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

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

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。
