PHP 実戦: Alibaba Cloud OCR を使用して Web ページのスクリーンショットの漢字認識を実現
インターネットの発展に伴い、Web ページ上のテキスト情報はますます豊富になってきましたが、場合によっては、 Web ページのスクリーンショットから抽出するテキスト情報。自動操作やテキスト分析を実現します。この記事では、Alibaba Cloud OCR (光学式文字認識、光学式文字認識) を使用して Web ページのスクリーンショットのテキスト認識を実現する方法と、対応する PHP コード例を紹介します。
1. Alibaba Cloud OCR サービスについて
Alibaba Cloud OCR サービスは、写真内のテキストを自動的に認識し、認識結果を出力できるクラウド コンピューティング ベースのテキスト認識テクノロジです。このサービスを使用する前に、Alibaba Cloud コンソールで OCR サービスをアクティブ化し、対応するアクセス キーとシークレット キーを取得する必要があります。
2. Web ページのスクリーンショットを取得する
テキスト認識を実行する前に、認識される Web ページのスクリーンショットを取得する必要があります。 file_get_contents()
関数を使用して Web ページの HTML コンテンツを取得し、file_put_contents()
関数を使用してコンテンツを HTML ファイルとして保存できます。
$html = file_get_contents('https://www.example.com'); file_put_contents('page.html', $html);
その後、PhantomJS や Puppeteer などのツールを使用して Web ページをキャプチャできます。これらのツールはブラウザの動作をシミュレートし、Web ページを画像としてレンダリングします。ここでは、PhantomJS を例として取り上げ、exec()
関数を使用してコマンド ラインを実行し、スクリーンショットを取得します。
exec('/path/to/phantomjs /path/to/rasterize.js page.html screenshot.png');
上記の /path/to/ に注意してください。 phantomjs
と /path/to/rasterize.js
は、対応するパスに置き換える必要があります。
3. Alibaba Cloud OCR インターフェイスを呼び出す
Web ページのスクリーンショットを取得した後、テキスト認識のために Alibaba Cloud OCR インターフェイスを呼び出すことができます。まず、Alibaba Cloud SDK を導入する必要があります:
require_once '/path/to/autoload.php';
次に、DefaultAcsClient
クラスを使用してインスタンスを作成します:
use DefaultAcsClient; use DefaultProfile; use RequestV20190115 as AcsRequest; $accessKeyId = 'your-access-key-id'; $accessKeySecret = 'your-access-key-secret'; $regionId = 'cn-hangzhou'; $profile = DefaultProfile::getProfile($regionId, $accessKeyId, $accessKeySecret); $client = new DefaultAcsClient($profile);
次に、リクエストを作成する必要があります:
$request = new AcsRequestRecognizeBusinessCardRequest(); $request->setImageURL('https://www.example.com/screenshot.png'); $request->setOutputType('json');
ここでは、RecognizeBusinessCardRequest
インターフェイスを使用し、スクリーンショットの URL を渡します。出力タイプは JSON です。
最後に、リクエストを送信し、返された結果を処理します。
$response = $client->doAction($request); // 解析返回结果 $ocrResult = json_decode($response->getBody(), true); // 输出识别结果 foreach ($ocrResult['data'] as $item) { echo $item['text']; }
上記のコードでは、$ocrResult
は返された JSON 結果を解析した後の配列です。配列を走査して、認識されたテキスト情報を取得します。
4. 完全なサンプル コード
doAction($request); $ocrResult = json_decode($response->getBody(), true); foreach ($ocrResult['data'] as $item) { echo $item['text']; }
5. 概要
Alibaba Cloud OCR サービスを使用すると、Web ページのスクリーンショットのテキスト認識を簡単に実現できます。上記の PHP コード例を使用すると、Web ページのスクリーンショットをテキスト情報に変換し、その後の操作と分析の基礎を提供できます。もちろん、特定のアプリケーション シナリオは、実際のニーズに基づいて調整および拡張する必要があります。この記事が Alibaba Cloud OCR サービスの使用に役立つことを願っています。
以上がPHP の実践: Alibaba Cloud OCR を使用して Web ページのスクリーンショットの漢字認識を実現するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。