Spec-Zone.ru › Symfony 4.1

Crawler

class Crawler implements Countable, IteratorAggregate

Crawler упрощает навигацию по списку объектов \DOMNode.

Свойства

protected $uri

Методы

__construct(mixed $node = null, string $uri = null, string $baseHref = null)
string getUri()

Возвращает текущий URI.

string getBaseHref()

Возвращает базовый href.

clear()

Удаляет все узлы.

add(DOMNodeList|DOMNode|array|string|null $node)

Добавляет узел в текущий список узлов.

addContent(string $content, string|null $type = null)

Добавляет HTML/XML содержимое.

addHtmlContent(string $content, string $charset = 'UTF-8')

Добавляет HTML-содержимое в список узлов.

addXmlContent(string $content, string $charset = 'UTF-8', int $options = LIBXML_NONET)

Добавляет XML-содержимое в список узлов.

addDocument(DOMDocument $dom)

Добавляет \DOMDocument в список узлов.

addNodeList(DOMNodeList $nodes)

Добавляет \DOMNodeList в список узлов.

addNodes(array $nodes)

Добавляет массив экземпляров \DOMNode в список узлов.

addNode(DOMNode $node)

Добавляет экземпляр \DOMNode в список узлов.

Crawler eq(int $position)

Возвращает узел по его позиции в списке узлов.

array each(Closure $closure)

Вызывает анонимную функцию для каждого узла в списке.

Crawler slice(int $offset = 0, int $length = null)

Вырезает список узлов по $offset и $length.

Crawler reduce(Closure $closure)

Редуцирует список узлов, вызывая анонимную функцию.

Crawler first()

Возвращает первый узел текущего выбора.

Crawler last()

Возвращает последний узел текущего выбора.

Crawler siblings()

Возвращает узлы-сестринские текущего выбора.

Crawler nextAll()

Возвращает следующие узлы-сёстры текущего выбора.

Crawler previousAll()

Возвращает предыдущие узлы-сёстры текущего выбора.

Crawler parents()

Возвращает родительские узлы текущего выбора.

Crawler children()

Возвращает дочерние узлы текущего выбора.

string|null attr(string $attribute)

Возвращает значение атрибута первого узла списка.

string nodeName()

Возвращает имя узла первого узла списка.

string text()

Возвращает значение узла первого узла списка.

string html()

Возвращает первый узел списка как HTML.

array|Crawler evaluate(string $xpath)

Вычисляет выражение XPath.

array extract(array $attributes)

Извлекает информацию из списка узлов.

Crawler filterXPath(string $xpath)

Фильтрует список узлов с помощью выражения XPath.

Crawler filter(string $selector)

Фильтрует список узлов с помощью CSS-селектора.

Crawler selectLink(string $value)

Выбирает ссылки по имени или значению alt для кликабельных изображений.

Crawler selectImage(string $value)

Выбирает изображения по значению alt.

Crawler selectButton(string $value)

Выбирает кнопку по имени или значению alt для изображений.

Link link(string $method = 'get')

Возвращает объект Link для первого узла в списке.

Link[] links()

Возвращает массив объектов Link для узлов в списке.

Image image()

Возвращает объект Image для первого узла в списке.

Image[] images()

Возвращает массив объектов Image для узлов в списке.

Form form(array $values = null, string $method = null)

Возвращает объект Form для первого узла в списке.

setDefaultNamespacePrefix(string $prefix)

Переопределяет префикс для используемого по умолчанию имени пространства с XPath и CSS-выражениями.

registerNamespace(string $prefix, string $namespace)
static string xpathLiteral(string $s)

Преобразует строку для выражений XPath.

DOMElement|null getNode(int $position)
int count()
ArrayIterator|DOMElement[] getIterator()
array sibling(DOMElement $node, string $siblingDir = 'nextSibling')

Подробности

__construct(mixed $node = null, string $uri = null, string $baseHref = null)

Параметры

mixed $node Узел для использования в качестве основы для сканирования
string $uri Текущий URI
string $baseHref Значение base href

string getUri()

Возвращает текущий URI.

Значение возврата

string

string getBaseHref()

Возвращает значение base href.

Значение возврата

string

clear()

Удаляет все узлы.

add(DOMNodeList|DOMNode|array|string|null $node)

Добавляет узел в текущий список узлов.

Этот метод использует соответствующий специализированный метод add*() в зависимости от типа аргумента.

Параметры

DOMNodeList|DOMNode|array|string|null $node Узел

Исключения

InvalidArgumentException при несоответствии типа узла ожидаемому типу

addContent(string $content, string|null $type = null)

Добавляет HTML/XML содержимое.

Если кодировка не установлена через тип содержимого, предполагается, что это UTF-8, или ISO-8859-1 в качестве резервного варианта, что является стандартной кодировкой, определенной спецификацией HTTP 1.1.

Параметры

string $content Строка для разбора как HTML/XML
string|null $type Тип содержимого строки

addHtmlContent(string $content, string $charset = 'UTF-8')

Добавляет HTML-содержимое в список узлов.

Ошибки libxml отключены при разборе содержимого.

Если вам нужны ошибки разбора, убедитесь, что вы включили внутренние ошибки с помощью libxml_use_internal_errors(true), а затем получите ошибки с помощью libxml_get_errors(). Убедитесь, что вы очищаете ошибки с помощью libxml_clear_errors() после этого.

Параметры

string $content HTML-содержимое
string $charset Кодировка

addXmlContent(string $content, string $charset = 'UTF-8', int $options = LIBXML_NONET)

Добавляет XML-содержимое в список узлов.

Ошибки libxml отключены при разборе содержимого.

Если вам нужны ошибки разбора, убедитесь, что вы включили внутренние ошибки с помощью libxml_use_internal_errors(true), а затем получите ошибки с помощью libxml_get_errors(). Убедитесь, что вы очищаете ошибки с помощью libxml_clear_errors() после этого.

Параметры

string $content XML-содержимое
string $charset Кодировка
int $options Побитовое ИЛИ констант опций libxml LIBXML_PARSEHUGE опасно, см. http://symfony.com/blog/security-release-symfony-2-0-17-released

addDocument(DOMDocument $dom)

Добавляет \DOMDocument в список узлов.

Параметры

DOMDocument $dom Экземпляр \DOMDocument

addNodeList(DOMNodeList $nodes)

Добавляет \DOMNodeList в список узлов.

Параметры

DOMNodeList $nodes Экземпляр \DOMNodeList

addNodes(array $nodes)

Добавляет массив экземпляров \DOMNode в список узлов.

Параметры

array $nodes Массив экземпляров \DOMNode

addNode(DOMNode $node)

Добавляет экземпляр \DOMNode в список узлов.

Параметры

DOMNode $node Экземпляр \DOMNode

Crawler eq(int $position)

Возвращает узел по его позиции в списке узлов.

Параметры

int $position Позиция

Значение возврата

Crawler

array each(Closure $closure)

Вызывает анонимную функцию для каждого узла в списке.

Анонимная функция получает позицию и узел, обернутый в экземпляр Crawler, в качестве аргументов.

Пример:

$crawler->filter('h1')->each(function ($node, $i) {
    return $node->text();
});

Параметры

Closure $closure Анонимная функция

Значение возврата

array Массив значений, возвращенных анонимной функцией

Crawler slice(int $offset = 0, int $length = null)

Вырезает список узлов по $offset и $length.

Параметры

int $offset
int $length

Значение возврата

Crawler

Crawler reduce(Closure $closure)

Сводит список узлов, вызывая анонимную функцию.

Чтобы удалить узел из списка, анонимная функция должна вернуть false.

Параметры

Closure $closure Анонимная функция

Значение возврата

Crawler

Crawler first()

Возвращает первый узел текущего выбора.

Значение возврата

Crawler

Crawler last()

Возвращает последний узел текущего выбора.

Значение возврата

Crawler

Crawler siblings()

Возвращает узлы-близнецы текущего выбора.

Значение возврата

Crawler

Исключения

InvalidArgumentException Когда текущий узел пуст

Crawler nextAll()

Возвращает последующие узлы-близнецы текущего выбора.

Значение возврата

Crawler

Исключения

InvalidArgumentException Когда текущий узел пуст

Crawler previousAll()

Возвращает предыдущие узлы-близнецы текущего выбора.

Значение возврата

Crawler

Исключения

InvalidArgumentException

Crawler parents()

Возвращает родительские узлы текущего выбора.

Значение возврата

Crawler

Исключения

InvalidArgumentException Когда текущий узел пуст

Crawler children()

Возвращает дочерние узлы текущего выбора.

Значение возврата

Crawler

Исключения

InvalidArgumentException Когда текущий узел пуст

string|null attr(string $attribute)

Возвращает значение атрибута первого узла в списке.

Параметры

string $attribute Имя атрибута

Значение возврата

строка|null Значение атрибута или null, если атрибут не существует

Исключения

InvalidArgumentException Когда текущий узел пуст

строка nodeName()

Возвращает имя узла первого узла списка.

Значение результата

строка Имя узла

Исключения

InvalidArgumentException Когда текущий узел пуст

строка text()

Возвращает значение узла первого узла списка.

Значение результата

строка Значение узла

Исключения

InvalidArgumentException Когда текущий узел пуст

строка html()

Возвращает первый узел списка в формате HTML.

Значение результата

строка HTML узла

Исключения

InvalidArgumentException Когда текущий узел пуст

массив|Crawler evaluate(строка $xpath)

Вычисляет выражение XPath.

Так как выражение XPath может вычисляться либо до простого типа, либо до \DOMNodeList, этот метод вернёт либо массив простых типов, либо новый экземпляр Crawler.

Параметры

строка $xpath Выражение XPath

Значение результата

массив|Crawler Массив результатов вычисления или новый экземпляр Crawler

массив extract(массив $attributes)

Извлекает информацию из списка узлов.

Вы можете извлечь атрибуты и/или значение узла (_text).

Пример:

$crawler->filter('h1 a')->extract(array('_text', 'href'));

Параметры

массив $attributes Массив атрибутов

Значение результата

массив Массив извлечённых значений

Crawler filterXPath(строка $xpath)

Фильтрует список узлов с помощью выражения XPath.

Выражение XPath вычисляется в контексте обходчика, который рассматривается как виртуальный родитель элементов внутри него. Это означает, что селектор потомка "div" или "./div" будет соответствовать только элементам div текущего обходчика, а не их потомкам.

Параметры

строка $xpath Выражение XPath

Значение результата

Crawler

Crawler filter(строка $selector)

Фильтрует список узлов с помощью селектора CSS.

Этот метод работает только при установке компонента CssSelector Symfony.

Параметры

строка $selector Селектор CSS

Значение результата

Crawler

Исключения

RuntimeException если компонент CssSelector недоступен

Crawler selectLink(строка $value)

Выбирает ссылки по имени или значению alt для кликабельных изображений.

Параметры

строка $value Текст ссылки

Значение результата

Crawler

Crawler selectImage(строка $value)

Выбирает изображения по значению alt.

Параметры

строка $value Значение alt изображения

Значение результата

Crawler Новый экземпляр Crawler со списком отфильтрованных узлов

Crawler selectButton(строка $value)

Выбирает кнопку по имени или значению alt для изображений.

Параметры

строка $value Текст кнопки

Значение результата

Crawler

Ссылка link(строка $method = 'get')

Возвращает объект Link для первого узла в списке.

Параметры

строка $method Метод для ссылки (по умолчанию get)

Значение результата

Ссылка Экземпляр Link

Исключения

InvalidArgumentException Если текущий список узлов пуст или выбранный узел не является экземпляром DOMElement

Ссылка[] links()

Возвращает массив объектов Link для узлов в списке.

Значение результата

Ссылка[] Массив экземпляров Link

Исключения

InvalidArgumentException Если текущий список узлов содержит объекты, не являющиеся DOMElement

Изображение image()

Возвращает объект Image для первого узла в списке.

Значение результата

Изображение Экземпляр Image

Исключения

InvalidArgumentException Если текущий список узлов пуст

Изображение[] images()

Возвращает массив объектов Image для узлов в списке.

Значение результата

Изображение[] Массив экземпляров Image

Форма form(массив $values = null, строка $method = null)

Возвращает объект Form для первого узла в списке.

Параметры

массив $values Массив значений для полей формы
строка $method Метод для формы

Значение результата

Форма Экземпляр Form

Исключения

InvalidArgumentException Если текущий список узлов пуст или выбранный узел не является экземпляром DOMElement

setDefaultNamespacePrefix(строка $prefix)

Перегружает префикс стандартного пространства имён, который используется с выражениями XPath и CSS.

Параметры

строка $prefix

registerNamespace(строка $prefix, строка $namespace)

Параметры

строка $prefix
строка $namespace

static строка xpathLiteral(строка $s)

Преобразует строку для выражений XPath.

Экранированные символы: кавычки (") и апостроф (').

Примеры:

echo Crawler::xpathLiteral('foo " bar');
//prints 'foo " bar'

echo Crawler::xpathLiteral("foo ' bar");
//prints "foo ' bar"

echo Crawler::xpathLiteral('a\'b"c');
//prints concat('a', "'", 'b"c')

Параметры

строка $s Строка, подлежащая экранированию

Значение результата

строка Преобразованная строка

DOMElement|null getNode(целое $position)

Параметры

целое $position

Значение результата

DOMElement|null

целое count()

Значение результата

целое

ArrayIterator|DOMElement[] getIterator()

Значение результата

ArrayIterator|DOMElement[]

protected array sibling(DOMElement $node, string $siblingDir = 'nextSibling')

Параметры

DOMElement $node
string $siblingDir

Возвращаемое значение

array

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/DomCrawler/Crawler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API