現在の位置: ホーム> 最新記事一覧> PHP Webサイトの自動高解像度写真に関する実用的なチュートリアル

PHP Webサイトの自動高解像度写真に関する実用的なチュートリアル

gitbox 2025-07-23

序文

インターネットコンテンツの濃縮により、インターネット上で多数の高品質の画像リソースが登場しています。多くのシナリオでは、ランドスケープ写真、アート作品など、指定されたWebサイトからバッチで写真を収集する必要があります。この記事では、PHPを使用してスクリプトを作成してWebサイトから高解像度の写真を自動的に収集する方法を示します。

ウェブサイトの構造を分析します

コレクションの前に、ターゲットWebサイトの構造を最初に分析する必要があります。通常、画像はIMGタグとしてページに埋め込まれています。 Webページソースコードを観察することにより、画像アドレスのパターンを見つけてから、ターゲット画像へのリンクを抽出できます。

コレクションコードを書き込みます

コレクションのアイデアを明確にした後、PHPのCurl関数を使用してWebページソースコードを取得し、正規表現を介して画像リンクを一致させ、最後に画像をループにダウンロードして保存します。

ページHTMLコードを取得します

// 設定 curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 得る HTML コード
$html = curl_exec($ch);
curl_close($ch);

画像アドレスを見つけます

// 正規表現を定義します
$pattern = '/<img[^>]+src=["\']?([^"\'>]+)["\']?[^>]*>/is';
// 画像アドレスを見つけます
preg_match_all($pattern, $html, $matches);
$matches = $matches[1];
// 重いものに行きます
$matches = array_unique($matches);

写真をダウンロードしてください

// 画像保存パスを定義します
$path = "./images/";
if(!file_exists($path)){
    mkdir($path);
}
// 写真をダウンロードしてください
foreach($matches as $key => $value){
    // 得る图片名
    $imgname = basename($value);
    // ファイルを開きます
    $fp = fopen($path . $imgname, 'w');
    // 設定 curl
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $value);
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    // 写真をダウンロードしてください
    curl_exec($ch);
    curl_close($ch);
    // ファイルを閉じます
    fclose($fp);
}

要約します

上記の方法により、シンプルで効率的なWebイメージコレクション機能を実現できます。実際のニーズに応じて、コードを調整して最適化できます。収集プロセス中に画像をダウンロードできないなどの問題が発生した場合、ネットワーク環境やアクセス許可などの要因を確認およびデバッグできます。このチュートリアルが、写真のPHPコレクションのスキルを簡単に習得できることを願っています。