Spec-Zone.ru › Symfony 2.8

Кrawler

класс Crawler расширяет SplObjectStorage

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

Методы

__construct(mixed $node = null, string $currentUri = null, string $baseHref = null)
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 в список узлов.

unserialize($serialized)
serialize()
Crawler eq(int $position)

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

array each(Closure $closure)

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

Crawler slice(int $offset, int $length = -1)

Вырезает список узлов по $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 extract(array $attributes)

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

Crawler filterXPath(string $xpath)

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

Crawler filter(string $selector)

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

Crawler selectLink(string $value)

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

Crawler selectButton(string $value)

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

Link link(string $method = 'get')

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

Link[] links()

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

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.

attach($object, $data = null) устарело
detach($object) устарело
contains($object) устарело
addAll($storage) устарело
removeAll($storage) устарело
removeAllExcept($storage) устарело
getInfo() устарело
setInfo($data) устарело
offsetExists($object) устарело
offsetSet($object, $data = null) устарело
offsetUnset($object) устарело
offsetGet($object) устарело
DOMElement|null getNode(int $position)

Подробности

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

Параметры

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

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

unserialize($serialized)

Параметры

$serialized

serialize()

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 = -1)

Вырезает список узлов по $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 extract(array $attributes)

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

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

Пример:

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

Параметры

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

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

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

Crawler filterXPath(string $xpath)

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

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

Параметры

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 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

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 Преобразованная строка

attach($object, $data = null) устарело

устарело

Использование API SplObjectStorage для Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$object
$data

detach($object) устарело

устарело

Использование API SplObjectStorage для Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$object

contains($object) устарело

устарело

Использование API SplObjectStorage для Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$object

addAll($storage) устарело

устарело

Использование API SplObjectStorage для Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$storage

removeAll($storage) устарело

устарело

Использование API SplObjectStorage для Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$storage

removeAllExcept($storage) устарело

устарело

Использование API SplObjectStorage для Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$storage

getInfo() устарело

устарело

Использование API SplObjectStorage для Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

setInfo($data) устарело

устаревшее

Использование API SplObjectStorage в Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$data

offsetExists($object) устаревшее

устаревшее

Использование API SplObjectStorage в Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$object

offsetSet($object, $data = null) устаревшее

устаревшее

Использование API SplObjectStorage в Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$object
$data

offsetUnset($object) устаревшее

устаревшее

Использование API SplObjectStorage в Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$object

offsetGet($object) устаревшее

устаревшее

Использование API SplObjectStorage в Crawler устарело начиная с версии 2.8 и будет удалено в версии 3.0.

Параметры

$object

DOMElement|null getNode(int $position)

Параметры

int $position

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

DOMElement|null

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

Spec-Zone.ru

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