PHP 웹 스크래퍼 만들기 : guzzle + dom-crawler
PHP 웹 크롤러 또는 스크래퍼를 만들 때 guzzle 과 dom-crawler 조합으로 구현할 수 있습니다.
설치는 컴포저를 이용하는 것이 좋겠죠?
[code]
composer require guzzlehttp/guzzle
composer require symfony/dom-crawler
[/code]
잘 되는지 간단히 테스트해 볼까요?
[code]
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;
$client = new Client();
$response = $client->request('GET', 'http://example.com');
$html = (string) $response->getBody();
$crawler = new Crawler($html);
$links = $crawler->filter('a')->each(function (Crawler $node, $i) {
return $node->attr('href');
});
var_dump($links);
[/code]
궁금하신 부분이 있으시면 댓글로 남여 주세요.
오늘도 즐거운 코딩 하세요~~^^
댓글 1개
1년 전
요새 크롤링 쓸만한게 많은가요? 크롤링 너무 안한지 오래 되어서요
게시글 목록
| 번호 | 제목 |
|---|---|
| 17316 | |
| 17315 |
JavaScript
시계 스크립트 그런데 페이지 뜨는건 느린게 문제네...
|
| 17313 |
PHP
php 업로드 소스
4
|
| 17312 | |
| 17305 | |
| 17304 | |
| 17298 |
node.js
간단한 채팅
|
| 17294 | |
| 17291 | |
| 17285 | |
| 17284 |
JavaScript
두가지 형태의 페이지 로딩 [ 로딩중, 로딩 프로그레스바 ]
2
|
| 17279 | |
| 17272 | |
| 17271 |
JavaScript
관계에 따른 메뉴 구성방안
1
|
| 17270 | |
| 17262 | |
| 17255 | |
| 17248 |
JavaScript
엘레먼트 요소에서 data 를 이벤트 핸들러로 사용하기
4
|
| 17241 | |
| 17238 |
MySQL
interval에 쓸 수 있는 값
3
|
| 17236 |
PHP
탈퇴합니다.
6
|
| 17220 | |
| 17217 |
JavaScript
회원가입
2
|
| 17216 | |
| 17214 | |
| 17207 | |
| 17205 | |
| 17203 | |
| 17201 | |
| 17198 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기