У меня есть следующий запрос XPath:не захватывая XPath содержание
//div[@class="row"]//div[@class="post-container"]//div[contains(@class,"post-content")]//p
Я пытаюсь захватить содержимое статьи из следующего URL:
http://gawker.com/u-s-pulls-ahead-in-taylor-swift-education-continues-t-1445261687
Это, кажется, не работать. То, что я ожидал, было массив DOMNodes
со всеми тегами p
.
Вот мой код:
error_reporting(E_ERROR);
$domDocument = new DOMDocument('1.0','UTF-8');
$urlText = file_get_contents($url);
$domDocument->loadHTML($urlText);
$finder = new DOMXPath($domDocument);
$xpath = '//div[@class="row"]//div[@class="post-container"]//div[contains(@class,"post-content")]//p';
$xpathContents = $finder->query($xpath);
ПРИМЕЧАНИЯ: Мне нужно использовать file_get_contents
для дополнительной синтаксического анализа логики
вы пробовали это: '// ДИВ [содержит (@class, "пост-контента")] // p' – tttony
@tttony да. я действительно запутался в том, почему он не возвращает контент. xpaths верны. Я заметил, что есть атрибут в элементе p 'data-textannotation-id =" 234d4be1de6ac84e6326becfa3459ee9 "'. Вы думаете, что это влияет на xpath? – jkushner
Начните упрощать xpath. начните удаление терминов, пока вы не начнете что-то возвращать. там, где ваш xpath сошел с рельсов. –