>백엔드 개발 >PHP 튜토리얼 >웹 크롤링 및 데이터 추출을 위해 PHP Goutte 클래스 라이브러리를 사용하는 방법은 무엇입니까?

웹 크롤링 및 데이터 추출을 위해 PHP Goutte 클래스 라이브러리를 사용하는 방법은 무엇입니까?

PHPz
PHPz원래의
2023-08-09 14:16:441470검색

如何使用PHP Goutte类库进行网页爬取与数据提取?

웹 크롤링 및 데이터 추출을 위해 PHP Goutte 클래스 라이브러리를 사용하는 방법은 무엇입니까?

개요:
일상적인 개발 과정에서 영화 순위, 일기 예보 등과 같은 다양한 데이터를 인터넷에서 얻어야 하는 경우가 많습니다. 웹 크롤링은 이 데이터를 얻는 일반적인 방법 중 하나입니다. PHP 개발에서는 Goutte 클래스 라이브러리를 사용하여 웹 크롤링 및 데이터 추출 기능을 구현할 수 있습니다. 이 기사에서는 웹 크롤링 및 데이터 추출을 위해 PHP Goutte 클래스 라이브러리를 사용하는 방법을 소개하고 코드 예제를 첨부합니다.

구테란?
Goutte는 Symfony 기반의 PHP 클래스 라이브러리로 웹 크롤링 및 데이터 추출에 특별히 사용됩니다. 이는 Symfony의 CSS 선택기 구성 요소 위에 구축되어 웹 페이지를 조작하는 간단하면서도 강력한 방법을 제공합니다. Goutte를 통해 웹 크롤링, 양식 제출, 데이터 추출 및 기타 작업을 쉽게 수행할 수 있습니다.

Goutte 클래스 라이브러리 설치:
먼저 Composer를 통해 Goutte 클래스 라이브러리를 설치해야 합니다. 터미널을 열고 프로젝트 디렉터리를 입력한 후 다음 명령을 실행합니다.

composer require fabpot/goutte

설치가 완료되면 Goutte 클래스 라이브러리를 코드에 도입하고 사용을 시작할 수 있습니다.

웹 크롤링 및 데이터 추출 예:
영화 순위 웹사이트에서 영화 이름, 평점 등과 같은 현재 인기 영화에 대한 정보를 얻고 싶다고 가정해 보겠습니다. 먼저 대상 페이지의 URL을 찾으세요. Douban 영화 순위를 예로 들면 URL은 https://movie.douban.com/chart입니다.

다음으로 Goutte를 사용하여 웹페이지를 크롤링하고 데이터를 추출합니다. 다음은 샘플 코드입니다.

// 引入Goutte类库
require 'vendor/autoload.php';

use GoutteClient;

// 创建一个Goutte客户端实例
$client = new Client();

// 发送GET请求,获取目标网页内容
$crawler = $client->request('GET', 'https://movie.douban.com/chart');

// 使用CSS选择器获取电影列表
$movies = $crawler->filter('.indent table tr')->each(function ($node) {
    // 提取电影名称
    $title = $node->filter('.pl2 a')->text();
    
    // 提取电影评分
    $rating = $node->filter('.star .rating_nums')->text();
    
    // 返回电影信息
    return [
        'title' => $title,
        'rating' => $rating,
    ];
});

// 输出结果
foreach ($movies as $movie) {
    echo $movie['title'] . ' - ' . $movie['rating'] . "
";
}

위 코드에서는 먼저 Goutte의 클라이언트 인스턴스를 생성한 다음 요청 메서드를 사용하여 대상 웹 페이지에 GET 요청을 보내 웹 페이지 콘텐츠를 가져옵니다. 다음으로 CSS 선택기를 사용하여 영화 목록을 추출합니다. 사용된 CSS 선택기 '.indent table tr'은 대상 웹 페이지의 모든 적합한 요소를 나타냅니다. 마지막으로 각 영화 노드에서 일부 데이터 추출 작업을 수행하고 영화 이름과 등급을 추출하고 이를 결과 배열에 저장한 후 마지막으로 결과를 인쇄합니다.

위 코드를 사용하면 웹 크롤링 및 데이터 추출 기능을 빠르게 구현할 수 있습니다. 물론 Goutte에는 양식 제출, 시뮬레이션된 사용자 작업 등과 같은 더 강력한 기능이 있습니다. 독자는 필요에 따라 더 자세히 탐색할 수 있습니다.

요약:
이 글에서는 웹 크롤링 및 데이터 추출을 위해 PHP Goutte 클래스 라이브러리를 사용하는 방법을 소개하고 코드 예제를 통해 기본 사용법을 보여줍니다. 웹 크롤링 및 데이터 추출은 데이터 분석, 정보 수집 등과 같은 다양한 시나리오에서 매우 유용합니다. Goutte 클래스 라이브러리를 통해 이러한 기능을 쉽게 구현하고 개발 효율성을 크게 향상시킬 수 있습니다. 이 글이 독자들에게 도움이 되기를 바라며, 교류와 토론을 환영합니다.

위 내용은 웹 크롤링 및 데이터 추출을 위해 PHP Goutte 클래스 라이브러리를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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