XPath (XML Path Language) — язык запросов к элементам XML-документа. Но не спешите убегать, концепция XPath настолько получилась удачной что ее применяют при парсинге HTML

Ранее, для парсинга страниц использовали регулярные выражения. Регулярные выражения могли быть сложными и требовали постоянной настройки. При изменении дизайна сайт регулярное выражение изменялось кардинально, что замедляло написание парсеров. Однако были и плюсы - одни и те же регулярные выражения можно использовать для разных сайтов.

Сейчас же чаще всего для _доступа_ к данным используется XPath:

(код grab)
>>> g.go('http://vk.com')
<grab.response.Response object at 0x1c9ae10>
>>> g.tree
<Element html at 1c96940>
>>> print g.tree.xpath('//title/text()')[0]
Welcome!

XPath реализует навигацию по DOM в XML/XHTML.

В примере показано как получить элемент title и достать из него текст.

Схожим образом можно обращаться к любому элементу. XPath позволяет искать элементы с определенным атрибутом, например:

//div[@class="Test"]

Данный язык запросов позволяет значительно упростить логику парсеров и тем самым ускорить разработку парсеров.

Синтаксис XPath -> http://www.w3schools.com/xsl/xpath_syntax.asp

А в этом видео вы узнаете, как можно парсить без использования XPath:



Комментарии