Парсинг HTML
1-ый способ: BrowserKit (рекомендуемый)
Парсить сайт можно через компонент BrowserKit.
Сначала компонент надо установить через Composer.
composer require symfony/browser-kit
Теперь можно использовать библиотеку для парсинга:
use Symfony\Component\BrowserKit\HttpBrowser;
$client = new HttpBrowser();
$crawler = $client->request('GET', 'https://site-name.ru/page/');
$crawler->filter('h1')->html(); // Данные в виде HTML
$crawler->filter('h1')->text(); // Данные в виде строки
2-ой способ: phpQuery (устаревший)
Раньше данная библиотека активно использовалась для парсинга сайтов. Она приведена для примера.
Спарсить HTML можно через библиотеку phpQuery.
Ссылка на библиотеку: code.google.com/archive/p/phpquery/
Элементы выбираются на основе синтаксиса библиотеки jQuery.
include 'phpQuery/phpQuery.php';
$content = file_get_contents('https://ru.wikipedia.org/wiki/PHP');
phpQuery::newDocument($content);
// выборка <title>
pq('title')->text(); // PHP — Википедия
// выборка <meta name="generator">
pq('meta[name="generator"]')->attr('content'); // MediaWiki 1.31.0-wmf.15
// выборка элемента по атрибуту "id"
pq('#firstHeading')->text(); // PHP
// выборка ссылки на картинку PHP
pq('.wikidata-claim img')->attr('src'); // upload.wikimedia.org/...149px-PHP-logo.svg.png
// выборка и вывод нескольких элементов
foreach (pq('#p-lang li') as $lang) {
echo pq($lang)->text();
}
Похожие страницы
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта
