我正在使用以下xpath来获取如下图所示的部分(http://advrider.com/forums/),但我不是。这有什么问题吗?
//TABLE/TBODY/TR[@class='dg-forums-level2 dg-align-center']/TD[2]/DIV[1]/A[1]
更新
<?php
$BASE_PATH = "../src/";
include_once($BASE_PATH . "classes/forumdb.php");
include_once($BASE_PATH . "classes/curl.php");
$curl = new curl();
$html = $curl->get_web_page('http://advrider.com/forums/');
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXpath($doc);
//$elements = $xpath->query("//TABLE[@class='tborder']/TBODY/TR[@class='']/TD[2]/DIV[1]/A[1]/STRONG[1]");
$elements = $xpath->query("//*[@id='f3']"); //works
//$elements = $xpath->query("//TABLE/TBODY/TR");
//TD[@id='f74']/DIV[1]/A[1]
if (!is_null($elements))
{
foreach ($elements as $element)
{
echo "f<br/>[". $element->nodeName. "]";
$nodes = $element->childNodes;
foreach ($nodes as $node)
{
echo $node->nodeValue. "\n";
}
}
}
?>
答案 0 :(得分:1)
//li[div[@class='nodeInfo categoryNodeInfo categoryStrip' and div/h3/a[text()='Riding']]]//div[@class='nodeText']/h3[@class='nodeTitle']
使用它并尽量避免像TD [2] / DIV [1] / A [1]这样的地方。 具有类的选择器比在DOM树中具有数字位置的选择器更不易碎。
我希望它能帮助
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以尝试以下xpath:
//ol[@class='nodeList']//*[@class='nodeTitle']//a
它会找到页面中的所有部分。
答案 3 :(得分:-1)
要抓取部分详细信息文本或网址,请使用以下xpath
var arr = [{
"ID": {
"name":"Allan" ,
"sid":"1"
},
"Country": "India",
"Value1": "100",
"Value2": "200"},{
"ID": {
"name":"Brian" ,
"sid":"2"
},
"Country": "China",
"Value1": "230",
"Value2": "800"}];