phpporser
v0.3
헤드리스 크롬 PHP 및 크롬 실행 파일이 필요합니다. 헤드리스 브라우징 지원 (Packagist 버전의 Standart 포함)과 함께이 라이브러리를 사용하려면이 라이브러리를 사용하려면이 라이브러리가 필요합니다.
$ composer require shamanhead/phpporser
이것은 Windows, MacOS 및 Linux에서 작동 할 수 있습니다.
따라서 공식 Chromium 브라우저 다운로드 페이지를 사용하여 다운로드하십시오.
이 단계를 수행 한 후 보관소를 풀고 필요한 장소로 이동하십시오.
그런 다음 스크립트의 경로를 지정하십시오.
require_once " vendor/autoload.php " ;
use HeadlessChromium Page ;
use ShamanHead PhpPorser App Dom as Dom ;
$ dom = new Dom ();
$ dom -> setHref ( ' file:///home/shamanhead/dev/porser/phpporser-master/test.html ' );
$ dom -> setBrowserPath ( ' PATH_TO_CHROME ' );당신이 올바르게 한 일이라면, Parser는 작동합니다. 이 단계에서 오류가 발생하면 여기에서 확인할 수 있습니다. 문제를 해결하기위한 해결책이 있습니다. 다른 경우에는 여기 또는 헤드리스 크롬 PHP 페이지에서 새 문제를 열어주십시오.
우선, 페이지 위에 '컴퓨터 공상 과학'문자열을 얻으려고합니다.
<?php
require_once " vendor/autoload.php " ;
use ShamanHead PhpPorser App Dom as Dom ;
$ dom = new Dom ();
$ dom -> setHref ( ' https://en.wikipedia.org/wiki/Computer_science ' );
print_r ( $ dom -> tag ( ' h1 ' )-> class ( ' firstHeading ' )-> text ()-> merge ());
?>작품입니다! 하지만 어떻게? 설명하자 :
<?php
require_once " vendor/autoload.php " ;
use ShamanHead PhpPorser App Dom as Dom ;
$ dom = new Dom ();
$ dom -> setHref ( ' href to file ' );
print_r ( $ dom -> tag ( ' h1 ' )-> array ()); //finds by tag name 'h1'
print_r ( $ dom -> id ( ' firstHeading ' )-> array ()); //finds by id name 'firstHeading'
print_r ( $ dom -> class ( ' wrapper__main ' )-> array ()); //finds by class name 'wrapper_main'
print_r ( $ dom -> custom ([ ' name ' , ' button ' ])-> array ()); //finds by 'name' attribute value 'button'
?>검색 방법을 서로 결합하여 특별한 방식으로 요소를 찾을 수 있습니다.
<?php
require_once " vendor/autoload.php " ;
use ShamanHead PhpPorser App Dom as Dom ;
$ dom = new Dom ();
$ dom -> setHref ( ' href to file ' );
print_r ( $ dom -> class ( ' main ' )-> id ( ' firstHeading ' )-> tag ( ' h1 ' )-> array ());
?> <?php
require_once " vendor/autoload.php " ;
use ShamanHead PhpPorser App Dom as Dom ;
$ dom = new Dom ();
$ dom -> setHref ( ' href to file ' );
$ divText = $ dom -> tag ( ' div ' )-> id ( ' someDiv ' )-> text ();
$ divText -> contents (); //Returns all text in array form.
$ divText -> merge ( ' symbol ' ); //Returns all text in string form with 'symbol' separator
//'n' by default.
$ divText -> first (); //Returns first founded text.
$ divText -> last (); //Returns last founded text.
?>