Goutte\Client

goutte Client는 다양한 php crawler(web scraper)중의 하나이다.
여기서는 goutte Client의 다양한 예시를 설명드립니다.

Installation

composer require fabpot/goutte

Usage

use Goutte\Client;

$client = new Client();
$crawler = $client->request('GET', 'https://www.symfony.com/blog/');

데이타 가져오기 (Extract data)

데이타를 가져온 후 filter를 이용하여 원하는 특정 데이타를 가져올 수 있다.

$crawler->filter('table.div-table > tbody > tr a')->each(function ($node) use($client) {

  $href = $node->attr('href'); // 속성(여기서는 href)를 가져온다.
  $view = $client->request('GET', $href); //  링크를 확인 후 안의 내용을 크롤링 한다.


  $title = $view->filter('.title > h1')->first()->text(); // 태그안의 첫번째 텍스트를 불러온다.

  $view->filter('div.view-content')->each(function ($node) {
    $node->filter('img')->each(function ($images) { // 이미지 태그를 읽어온다.
      $src = $images->attr('src');
    });

    $node->filter('source')->each(function ($mp4s) use ($data) { // mp4의 내용을 가져온다.
      $src = $mp4s->attr('src');
    });
  });

  • tr:not(.notice) : notice class 가 없는 것

Submit forms 이용한 로그인

평점을 남겨주세요
평점 : 2.5
총 투표수 : 1