インターネットの普及に伴い、データの取得と処理の重要性がますます高まっています。その中で、クローラープログラムを通じて特定のWebサイトのデータを取得したいという需要も高まっています。この記事では、PHP クローラーを使用して、AJAX および JSONP 経由で JSON データを解析する方法について説明します。
AJAX (Asynchronous Javascript And XML) とは、ページをリロードせずに、Web サイトのコンテンツをバックグラウンドで非同期に更新する方法を指します。 AJAX テクノロジーにより、Web ページをよりスムーズで応答性の高いものにすることができます。
JSONP (パディング付き JSON) は、クロスドメイン データ リクエスト テクノロジです。原理としては、script タグの src 属性がブラウザの同一オリジンポリシーの制限を受けないことを利用し、取得するデータをコールバック関数のパラメータとして渡すことで、クロスドメインリクエストや参照を実現します。データ。
AJAX および JSONP コードの作成を開始する前に、まず jQuery ライブラリを導入する必要があります。これは、HTML ページの先頭に次のコードを追加することで実現できます。
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
以下は、AJAX を使用したコード例です。 JSON データをリクエストする AJAX:
$.ajax({ url: 'http://example.com/json_data', type: 'GET', dataType: 'json', success: function(data) { // 处理获取到的 JSON 数据 }, error: function() { // 请求失败的处理 } });
このうち、url パラメータはリクエストする JSON データのアドレスを指定し、dataType パラメータは応答データのタイプを指定し、ここでは JSON として指定します。成功コールバック関数は次のとおりです。リクエストが成功したときに返されたデータを処理するために使用され、エラー コールバック関数はリクエストの失敗を処理するために使用されます。
成功コールバック関数では、jQuery が提供するメソッドを使用して、取得した JSON データを処理できます。たとえば、次のような取得データを通じて Web ページのコンテンツを更新できます。
$.ajax({ url: 'http://example.com/json_data', type: 'GET', dataType: 'json', success: function(data) { $('#content').html(data.content); }, error: function() { $('#content').html('请求失败'); } });
次のコードはJSONP を使用して JSON データを要求する例:
$.ajax({ url: 'http://example.com/json_data', data: {callback: 'handleResponse'}, dataType: 'jsonp', jsonp: false, jsonpCallback: 'handleResponse' }); function handleResponse(data) { // 处理获取到的 JSON 数据 }
data パラメーターはコールバック関数の名前を指定します。dataType パラメーターは応答データのタイプを指定します (ここでは JSONP として指定します)。jsonp パラメーターは JSONP を有効にするかどうかを指定します。 、ここでは false として指定されます。jsonpCallback パラメータはコールバック関数の名前を指定します。
handleResponse コールバック関数では、取得した JSON データを処理に使用できます。たとえば、次のような取得データを通じて Web ページのコンテンツを更新できます。
function handleResponse(data) { $('#content').html(data.content); }
JSONP リクエストでは、サーバーはコールバック関数名でラップされた JSON データを返す必要があることに注意してください。
handleResponse({"content": "这是要获取的数据"});
この記事では、AJAX および JSONP テクノロジを使用して JSON データを解析する方法を紹介します。 AJAX および JSONP を通じて JSON データを取得すると、データの取得と処理がより便利かつ高速になります。読者に JSON データの取得と処理のニーズがある場合は、この記事で紹介した方法を使用してそれを実現できます。
以上がPHP クローラー: AJAX と JSONP を使用した JSON データの解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。