Spec-Zone.ru › Symfony 3.4

Crawler

class Crawler implements Countable, IteratorAggregate

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

Методы

__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, 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|DOMElement[] getIterator()

Подробности

__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, null|string $type = null)

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

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

Параметры

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

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

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

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

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

Параметры

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

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

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

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

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

Параметры

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 Имя атрибута

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

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

Исключения

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

строка nodeName()

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

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

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

Исключения

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

строка text()

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

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

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

Исключения

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

строка html()

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

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

строка HTML узла

Исключения

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

массив|Crawler evaluate(string $xpath)

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

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

Параметры

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

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

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

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

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

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

Пример:

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

Параметры

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

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

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

Crawler filterXPath(string $xpath)

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

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

Параметры

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

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

Crawler

Crawler filter(string $selector)

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

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

Параметры

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

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

Crawler

Исключения

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

Crawler selectLink(string $value)

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

Параметры

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

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

Crawler

Crawler selectImage(string $value)

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

Параметры

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

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

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

Crawler selectButton(string $value)

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

Параметры

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

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

Crawler

Ссылка link(string $method = 'get')

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

Параметры

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

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

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

Исключения

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

Ссылка[] links()

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

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

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

Исключения

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

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

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

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

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

Исключения

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

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

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

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

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

Форма form(array $values = null, string $method = null)

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

Параметры

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

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

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

Исключения

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

setDefaultNamespacePrefix(string $prefix)

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

Параметры

строка $prefix

registerNamespace(string $prefix, string $namespace)

Параметры

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

static строка 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')

Параметры

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

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

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

DOMElement|null getNode(int $position)

Параметры

целое $position

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

DOMElement|null

целое count()

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

целое

ArrayIterator|DOMElement[] getIterator()

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

ArrayIterator|DOMElement[]

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

Spec-Zone.ru

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