ホームページ >バックエンド開発 >PHPチュートリアル >PHP は Baidu Wenxin Yiyan API に接続して、特定の種類の文のデータ フィルタリングとフィルタ設定を取得します

PHP は Baidu Wenxin Yiyan API に接続して、特定の種類の文のデータ フィルタリングとフィルタ設定を取得します

王林
王林オリジナル
2023-08-26 08:43:441361ブラウズ

PHP は Baidu Wenxin Yiyan API に接続して、特定の種類の文のデータ フィルタリングとフィルタ設定を取得します

PHP は Baidu Wenxin Yiyan API に接続して、特定の種類の文に対するデータ フィルタリングとフィルタ設定を取得します。

[はじめに]
ネットワーク テクノロジーの発展により、 API(アプリケーション・プログラミング・インターフェース)の利用範囲はますます広がっています。 API は、さまざまなシステムが相互に通信できるようにする標準化されたインターフェイスを提供します。 Baidu Wenxin Yiyan API はよく使われる API の 1 つで、アニメ、漫画、小説など、さまざまな種類の文章を取得する機能を提供します。この記事では、PHP を使用して Baidu Wenxin Yiyan API に接続し、特定の種類の文章のデータを取得し、データをフィルタリングしてフィルターを設定する方法を紹介します。

[Baidu Wenxin Yiyan API へのアクセス]
まず、Baidu 開発者アカウントを登録し、API キーと秘密キーを取得するアプリケーションを作成する必要があります。次に、PHP を使用して Baidu Wenxin Yiyan API に接続するには、コード内で cURL ライブラリを使用して HTTP リクエストを送信し、応答を受信する必要があります。

まず、以下に示すように、API のリクエスト アドレスとパラメータを定義する必要があります。

$url = 'https://aip.baidubce.com/rpc/2.0/creation/v1/getSentence';
$params = array(
    'sourceType' => 0, // 句子类型,0为动画,1为漫画,2为小说
    'length' => 10, // 每次返回的句子数量
    'filterFlag' => 1, // 是否进行筛选,1为进行筛选,0为不筛选
    'filterType' => 0, // 筛选类型,0为默认筛选器,1为用户自定义筛选器
    'apiKey' => 'Your API Key',
    'secretKey' => 'Your Secret Key',
);

次に、cURL ライブラリを使用して HTTP リクエストを送信し、返された結果を処理します。以下に示すように:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
if ($result && isset($result['error_code']) && $result['error_code'] === 0) {
    // 解析和处理返回的句子数据
    $sentences = $result['results'];
    foreach ($sentences as $sentence) {
        echo $sentence['content'] . PHP_EOL;
    }
} else {
    echo 'API请求失败' . PHP_EOL;
}

上記のコードでは、まず cURL ライブラリを通じて Baidu Wenxin Yiyan API のアドレスに POST リクエストを送信し、パラメーターを渡します。次に、 json_decode 関数を使用して、返された JSON 形式のデータを PHP 配列に解析します。最後に、返された結果が正しいかどうかを判断し、各文の内容をトラバースして出力します。

[データ フィルタリングとフィルタ設定]
Baidu Wenxin Yiyan API は、ユーザー定義のフィルタリング ルールに基づいて要件を満たさない文をフィルタリングできるデータ フィルタリングとフィルタ設定機能を提供します。以下はフィルタ設定の例です。

{
    "filter_type": 1,
    "filter_ranges": [
        {
            "key": "category",
            "type": "equal",
            "value": "电影"
        },
        {
            "key": "source",
            "type": "in",
            "value": ["动画", "漫画"]
        },
        {
            "key": "length",
            "type": "less_than",
            "value": 50
        }
    ]
}

上記の設定は、映画として分類され、ソースがアニメーションまたはコミックで、長さが 50 文字未満の文をフィルタリングします。以下に示すように、パラメーターを介してこの構成を Baidu Wenxin Yiyan API に渡すことができます。

$filter = file_get_contents('filter.json');
$params['filter'] = $filter;

上記のコードでは、まずフィルター構成を filter.json という名前のファイルに保存し、次に file_get_contents 関数を使用して構成ファイルの内容を読み取り、それを $params 配列のフィルター パラメーターに割り当てます。

最後に、以下に示すように、HTTP リクエストを Baidu Wenxin Yiyan API に再度送信し、返された結果を処理します。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
if ($result && isset($result['error_code']) && $result['error_code'] === 0) {
    // 解析和处理返回的句子数据
    $sentences = $result['results'];
    foreach ($sentences as $sentence) {
        echo $sentence['content'] . PHP_EOL;
    }
} else {
    echo 'API请求失败' . PHP_EOL;
}

上記のコードでは、$filter パラメーターを追加するだけです。フィルター設定を渡します。次に、返された文章データが解析され、再度処理されます。

[結論]
この記事の導入を通じて、PHP を使用して Baidu Wenxin Yiyan API に接続し、特定の種類の文章のデータを取得し、フィルターを適用してフィルターを構成する方法を学びました。これは、Baidu Wenxin Yiyan API に基づいてアプリケーションを開発するための基礎とリファレンスを提供します。もちろん、実際のニーズに応じて、さまざまなフィルター構成をカスタマイズして、より多くのデータ フィルターのニーズを満たすことができます。この記事がお役に立てば幸いです。

以上がPHP は Baidu Wenxin Yiyan API に接続して、特定の種類の文のデータ フィルタリングとフィルタ設定を取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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