Spec-Zone.ru › Symfony 3.2

Crawler

class Crawler implements Countable, IteratorAggregate

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

Методы

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

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

string getBaseHref()

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

clear()

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

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

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

addContent(string $content, null|string $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, 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 getIterator()

Подробности

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

Параметры

mixed $node Узел для использования в качестве базы для обхода
string $currentUri Текущий 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, null|string $type = null)

Добавляет HTML/XML контент.

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

Параметры

string $content Строка для парсинга как HTML/XML
null|string $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, 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 Имя атрибута

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

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

Исключения

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

string nodeName()

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

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

string Имя узла

Исключения

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

string text()

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

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

string Значение узла

Исключения

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

string html()

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

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

string HTML узла

Исключения

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

array|Crawler evaluate(string $xpath)

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

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

Параметры

string $xpath Выражение XPath

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

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

array extract(array $attributes)

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

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

Пример:

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

Параметры

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

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

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

Crawler filterXPath(string $xpath)

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

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

Параметры

string $xpath Выражение XPath

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

Crawler

Crawler filter(string $selector)

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

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

Параметры

string $selector Селектор CSS

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

Crawler

Исключения

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

Crawler selectLink(string $value)

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

Параметры

string $value Текст ссылки

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

Crawler

Crawler selectImage(string $value)

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

Параметры

string $value Значение alt изображения

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

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

Crawler selectButton(string $value)

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

Параметры

string $value Текст кнопки

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

Crawler

Link link(string $method = 'get')

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

Параметры

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

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

Link Экземпляр Link

Исключения

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

Link[] links()

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

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

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

Исключения

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

Image image()

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

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

Image Экземпляр Image

Исключения

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

Image[] images()

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

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

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

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

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

Параметры

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

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

Form Экземпляр Form

Исключения

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

setDefaultNamespacePrefix(string $prefix)

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

Параметры

string $prefix

registerNamespace(string $prefix, string $namespace)

Параметры

string $prefix
string $namespace

static string xpathLiteral(string $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')

Параметры

string $s Строка для экранирования

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

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

DOMElement|null getNode(int $position)

Параметры

int $position

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

DOMElement|null

int count()

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

int

ArrayIterator getIterator()

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

ArrayIterator

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

Spec-Zone.ru

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