ホームページ >バックエンド開発 >PHPチュートリアル >PHP と phpSpider を使用して画像をクロールしてダウンロードするにはどうすればよいですか?

PHP と phpSpider を使用して画像をクロールしてダウンロードするにはどうすればよいですか?

王林
王林オリジナル
2023-07-21 09:27:151065ブラウズ

PHP と phpSpider を使用して画像をクロールしてダウンロードするにはどうすればよいですか?

インターネットの発達により、毎日大量の写真がインターネット上に出回ります。場合によっては、いつでも見られるように写真をローカルに保存する必要があるかもしれません。手動で 1 つずつダウンロードするのは非常に面倒で時間がかかるため、現時点ではクローラー技術が必要です。

この記事では、PHP 言語と phpSpider フレームワークを使用して画像をクロールおよびダウンロードする方法を紹介します。 PHP は、強力なサーバーサイド スクリプト言語として、学習が容易で開発効率が高いという利点から広く使用されています。 phpSpider は、PHP に基づいて開発された強力な Web クローラー フレームワークであり、拡張性と柔軟性に優れています。

まず、phpSpider フレームワークをインストールする必要があります。ターミナルを開いて次のコマンドを実行します:

composer require phpspider/phpspider

インストールが完了したら、コードの記述を開始できます。

まず、download_img.php という名前のファイルを作成し、そのファイルに phpSpider のエントリ クラスを導入します。

<?php
require 'vendor/autoload.php';
use phpspidercorephpspider;

次に、phpSpider を継承するクラスを定義します。基本クラス phpspider を作成し、ページ データを処理するための handlePage() メソッドをオーバーライドします。

class ImageSpider extends phpspider
{
    public function handlePage($page)
    {
        // 获取图片链接
        $img_urls = $page['rawlinks'];
        
        // 遍历图片链接并将图片下载到本地
        foreach ($img_urls as $img_url) {
            $this->downloadImage($img_url);
        }
    }
    
    private function downloadImage($url)
    {
        // 获取图片文件名
        $file_name = basename($url);
        
        // 构造图片保存路径
        $save_path = './images/' . $file_name;
        
        // 下载图片
        file_put_contents($save_path, file_get_contents($url));
        
        echo '成功下载图片:' . $url . PHP_EOL;
    }
}

次に、index .php ファイルを作成します。 、クロール タスクを実行するために ImageSpider クラスを呼び出すために使用されます:

<?php
require 'download_img.php';

$spider = new ImageSpider();

// 设置爬虫的配置项
$spider->addUrl('https://www.examplesite.com/');
$spider->notUseCookie();
$spider->start();

上記のコードでは、まず以前に作成した download_img.php ファイルをインクルードし、インスタンス化します。 # クラス。次に、クロールする初期エントリURL、Cookieを使用しないなど、クローラーの設定項目を設定します。最後に、start() メソッドを呼び出して、クローラー タスクを開始します。 上記のコードは、指定された URL から始まるページ データをクロールし、すべての画像リンクを抽出します。次に、

downloadImage()

メソッドを使用してこれらのイメージをローカル コンピューターにダウンロードし、images という名前のフォルダーに保存します。 このコードを実行する前に、

images

フォルダーを作成し、そのフォルダーに書き込み権限があることを確認する必要があります。 これまで、PHP と phpSpider を使用して画像をクロールおよびダウンロードする方法を完了しました。このように、インターネット上で画像リソースを簡単に入手できるので、オフラインで閲覧したり利用したりするのに便利です。

要約すると、PHP と phpSpider を使用して画像をクロールおよびダウンロードするプロセスには 4 つのステップが含まれます: phpSpider フレームワークのインストール、メインのダウンロード スクリプト ファイルの作成、ページ データを処理する ImageSpider クラスの作成、およびセットアップクローラー設定項目を選択し、クローラー タスクを開始します。

この記事が phpSpider フレームワークの理解と適用に役立つことを願っています。また、楽しくお使いいただけることを願っています。

以上がPHP と phpSpider を使用して画像をクロールしてダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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