composer require vdb/php-spider
<?php
use VDB\Spider\Spider;
use VDB\Spider\Discoverer\XPathExpressionDiscoverer;
use VDB\Spider\StatsHandler;
require_once "./vendor/autoload.php";
$spider = new Spider('https://google.co.jp/');
// $spider->getDiscovererSet()->set(new XPathExpressionDiscoverer("//div"));
$spider->getDiscovererSet()->maxDepth = 3;
$spider->getQueueManager()->maxQueueSize = 10;
// $statsHandler = new StatsHandler();
// $spider->getQueueManager()->getDispatcher()->addSubscriber($statsHandler);
// $spider->getDispatcher()->addSubscriber($statsHandler);
$spider->crawl();
foreach ($spider->getDownloader()->getPersistenceHandler() as $resource) {
echo "\n" . $resource->getCrawler()->filterXpath('//div')->text() ."\n";
}
インストールするディレクトリ(CodeIgniterの場合は /codeigniter/application/)に移動しターミナルから
composer require querypath/querypath
でインストール。
CodeIgniterを使用している場合は config/config.php の
$config['composer_autoload'] = TRUE;
で自動的に読み込まれます。
Laravel を使用している場合は何もしなくても自動的に読み込まれます。
フレームワークを使用していない場合は
require_once "vendor/autoload.php";
require_once "vendor/autoload.php";
$url = 'http://yahoo.co.jp/';
$html = file_get_contents($url);
$qp = html5qp($html);
print qp($html, 'title')->text();
print qp($html, 'meta[name=description]')->attr("content");