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년 전
요새 크롤링 쓸만한게 많은가요? 크롤링 너무 안한지 오래 되어서요
게시판 목록
개발자팁
개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 5066 | 기타 |
DogFoot개발
|
4년 전 | 1817 | |
| 5065 | PHP |
DogFoot개발
|
4년 전 | 1522 | |
| 5064 | PHP |
happyl
|
4년 전 | 1914 | |
| 5063 | node.js |
DogFoot개발
|
4년 전 | 1671 | |
| 5062 | node.js |
DogFoot개발
|
4년 전 | 1687 | |
| 5061 | node.js |
DogFoot개발
|
4년 전 | 1410 | |
| 5060 | node.js |
DogFoot개발
|
4년 전 | 1246 | |
| 5059 | node.js |
DogFoot개발
|
4년 전 | 1245 | |
| 5058 | 기타 |
DogFoot개발
|
4년 전 | 2692 | |
| 5057 | 웹서버 |
DogFoot개발
|
4년 전 | 2715 | |
| 5056 | MySQL | 4년 전 | 1499 | ||
| 5055 | 기타 | 4년 전 | 1427 | ||
| 5054 | OS | 4년 전 | 2063 | ||
| 5053 | 웹서버 | 4년 전 | 3617 | ||
| 5052 | OS | 4년 전 | 2414 | ||
| 5051 | PHP | 4년 전 | 2183 | ||
| 5050 | 웹서버 | 4년 전 | 1713 | ||
| 5049 | MySQL | 4년 전 | 1887 | ||
| 5048 | OS | 4년 전 | 2690 | ||
| 5047 | PHP | 4년 전 | 4364 | ||
| 5046 | MySQL | 4년 전 | 1805 | ||
| 5045 | MySQL | 4년 전 | 1928 | ||
| 5044 | MySQL | 4년 전 | 4122 | ||
| 5043 | MySQL | 4년 전 | 1879 | ||
| 5042 | 기타 |
|
4년 전 | 2629 | |
| 5041 | MySQL | 4년 전 | 1986 | ||
| 5040 | MySQL | 4년 전 | 1712 | ||
| 5039 | MySQL | 4년 전 | 1485 | ||
| 5038 | MySQL | 4년 전 | 1327 | ||
| 5037 | OS | 4년 전 | 4424 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기