>  기사  >  백엔드 개발  >  PHP와 phpSpider를 사용하여 이미지를 크롤링하고 다운로드하는 방법은 무엇입니까?

PHP와 phpSpider를 사용하여 이미지를 크롤링하고 다운로드하는 방법은 무엇입니까?

王林
王林원래의
2023-07-21 09:27:15980검색

PHP와 phpSpider를 사용하여 이미지를 크롤링하고 다운로드하는 방법은 무엇입니까?

인터넷이 발달하면서 우리는 매일 수많은 사진을 인터넷에 떠돌고 있습니다. 때로는 사진을 언제든지 볼 수 있도록 로컬에 저장해야 할 수도 있습니다. 수동으로 하나씩 다운로드하는 것은 매우 지루하고 시간이 많이 걸릴 수 있습니다. 이때 크롤러 기술이 필요합니다.

이 글에서는 PHP 언어와 phpSpider 프레임워크를 사용하여 이미지를 크롤링하고 다운로드하는 방법을 소개합니다. 강력한 서버 측 스크립팅 언어인 PHP는 배우기 쉽고 개발 효율성이 높다는 장점으로 널리 사용됩니다. phpSpider는 PHP를 기반으로 개발된 강력한 웹 크롤러 프레임워크로 확장성과 유연성이 뛰어납니다.

먼저 phpSpider 프레임워크를 설치해야 합니다. 터미널을 열고 다음 명령을 실행합니다.

composer require phpspider/phpspider

설치가 완료되면 코드 작성을 시작할 수 있습니다.

먼저 download_img.php라는 파일을 생성하고 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文件,并实例化了ImageSpider类。然后,我们设置了爬虫的配置项,包括要爬取的初始入口URL、不使用Cookie等。最后,调用start()方法启动爬虫任务。

以上代码将从给定的URL开始爬取页面数据,并提取出所有的图片链接。然后,通过downloadImage()方法将这些图片下载到本地,保存在一个名为images的文件夹内。

在运行该代码前,我们需要先创建一个imagesrrreee

그런 다음 phpSpider phpspider , 그리고 <code>handlePage() 메서드를 다시 작성하여 페이지 데이터를 처리합니다.

rrreee

다음으로 index.php 파일을 만들고 ImageSpider 클래스를 호출하는 데 사용합니다. 크롤링 작업 수행:

rrreee

위 코드에서는 먼저 이전에 생성된 download_img.php 파일을 포함하고 ImageSpider 클래스를 인스턴스화합니다. 그런 다음 크롤링할 초기 항목 URL을 포함하여 쿠키를 사용하지 않는 등 크롤러의 구성 항목을 설정합니다. 마지막으로 start() 메서드를 호출하여 크롤러 작업을 시작합니다.

위 코드는 주어진 URL에서 시작하여 페이지 데이터를 크롤링하고 모든 이미지 링크를 추출합니다. 그런 다음 downloadImage() 메서드를 통해 이러한 이미지를 로컬 컴퓨터에 다운로드하고 images라는 폴더에 저장합니다. 🎜🎜이 코드를 실행하기 전에 images 폴더를 만들고 폴더에 쓰기 권한이 있는지 확인해야 합니다. 🎜🎜지금까지 PHP와 phpSpider를 사용하여 이미지를 크롤링하고 다운로드하는 방법을 완료했습니다. 이런 식으로 우리는 인터넷에서 사진 리소스를 쉽게 얻을 수 있어 오프라인에서 검색하고 사용하는 것이 편리합니다. 🎜🎜요약하자면, PHP와 phpSpider를 사용하여 이미지를 크롤링하고 다운로드하는 프로세스에는 phpSpider 프레임워크 설치, 기본 다운로드 스크립트 파일 생성, 페이지 데이터 처리를 위한 ImageSpider 클래스 작성, 크롤러 구성 항목 및 설정의 네 단계가 포함됩니다. 크롤러 작업을 시작합니다. 🎜🎜이 기사가 phpSpider 프레임워크를 이해하고 적용하는 데 도움이 되기를 바라며, 행복하게 사용하시길 바랍니다! 🎜

위 내용은 PHP와 phpSpider를 사용하여 이미지를 크롤링하고 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.