PHPで接尾辞なしで画像をクロールすることは挑戦的な作業ですが、適切なテクニックを使用すると、簡単に実行できます。この記事では、PHPを使用してスクリプトを作成して、ページに接尾辞なしで画像をつかんでダウンロードする方法について説明します。
まず、クロールとダウンロードの機能を実装するためにPHPスクリプトを作成する必要があります。 Curlライブラリを使用して、HTTPリクエストを送信できますが、正規表現はサフィックスなしで画像リンクを一致させるために使用できます。
「grab_images.php」という名前のphpファイルを作成し、次のコードをファイルに追加します。
// サイトをセットアップしてクロールしますURL
$url = "https://example.com";
// 作成するcURLハンドル
$ch = curl_init();
// 設定cURLオプション
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 埋め込むcURL聞く
$response = curl_exec($ch);
// 閉鎖cURLハンドル
curl_close($ch);
// 配列を初期化して、見つかった画像リンクを保存します
$images = array();
// 正規表現を使用して、接尾辞なしで画像へのリンクを見つける
preg_match_all('/src="([^"]+)"[^>]*>/', $response, $matches);
// 見つかった一致する結果を繰り返します
foreach ($matches[1] as $match) {
// リンクにファイル接尾辞が含まれていない場合,次に、配列に追加します
if (!pathinfo($match, PATHINFO_EXTENSION)) {
$images[] = $match;
}
}
// 見つかった画像リンクを出力します
foreach ($images as $image) {
echo $image . "\n";
}
上記のコードは、指定されたURLにHTTPリクエストを送信し、ページコンテンツを返します。次に、正規表現を使用して、HTMLから画像リンクを抽出し、リンクに接尾辞が含まれているかどうかを判断することにより、接尾辞なしで画像を除外します。
次に、これらの画像をダウンロードするには、スクリプトにコードを追加する必要があります。
// 見つかった画像リンクを通過します
foreach ($images as $image) {
// 画像ファイル名を生成します
$filename = basename($image);
// 写真をダウンロードしてください
file_put_contents($filename, file_get_contents($image));
}
PHPスクリプトを実行するには、コマンドラインで次のコマンドを実行します。
php grab_images.php
スクリプトは、指定されたURLのページをクロールし、接尾辞なしで画像リンクを抽出し、ダウンロードしてローカルファイルとして保存します。
スクリプトが配置されているフォルダーに、ダウンロードされた画像を保存するために許可を書き込むことを確認してください。
この記事のPHPスクリプトの例を使用して、接尾辞なしで画像を取得する方法を示します。 Curlライブラリを使用してHTTPリクエストを送信し、正規表現を使用して画像リンクを抽出し、最後にPHP関数を介して画像をダウンロードして保存します。このスクリプトは、自動化されたタスクやパーソナライズされた機能に適しています。