Spec-Zone.ru › Symfony 3.0

Crawler

class Crawler implements Countable, IteratorAggregate

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

Методы

__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')

Добавляет 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 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.

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

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

Добавляет XML-контент в список узлов.

При разборе контента отключены ошибки libxml.

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

Параметры

string $content XML-контент
string $charset Кодировка

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 Новый экземпляр Crawler с выбранным узлом или пустой 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 со срезанными узлами

Crawler reduce(Closure $closure)

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

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

Параметры

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

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

Crawler Экземпляр Crawler с выбранными узлами.

Crawler first()

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

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

Crawler Экземпляр Crawler с первым выбранным узлом

Crawler last()

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

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

Crawler Экземпляр Crawler с последним выбранным узлом

Crawler siblings()

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

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

Crawler Экземпляр Crawler с узлами-свойствами

Исключения

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

Crawler nextAll()

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

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

Crawler Экземпляр Crawler со следующими узлами-свойствами

Исключения

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

Crawler previousAll()

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

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

Crawler Экземпляр Crawler с предыдущими узлами-свойствами

Исключения

InvalidArgumentException

Crawler parents()

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

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

Crawler Экземпляр Crawler с родительскими узлами текущего выбора

Исключения

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

Crawler children()

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

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

Crawler Экземпляр 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-выражение вычисляется в контексте обьекта Crawler, который рассматривается как виртуальный родитель элементов внутри него. Это означает, что селектор потомка "div" или "./div" будет соответствовать только элементам div текущего Crawler, а не их потомкам.

Параметры

string $xpath XPath-выражение

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

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

Crawler filter(string $selector)

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

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

Параметры

string $selector CSS-селектор

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

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

Исключения

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

Crawler selectLink(string $value)

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

Параметры

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

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

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

Crawler selectButton(string $value)

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

Параметры

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

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

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

Link link(string $method = 'get')

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

Параметры

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

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

Link Объект Link

Исключения

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

Link[] links()

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

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

Link[] Массив объектов Link

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

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

Параметры

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

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

Form Объект Form

Исключения

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

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.0/Symfony/Component/DomCrawler/Crawler.html

Spec-Zone.ru

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