表中的Xpath表

时间:2012-12-13 23:04:29

标签: php xpath web-scraping domdocument domxpath

我有一个用DOMXpath抓取一个表格大的页面的问题。

布局非常难看,这意味着我试图从表格中的表格中获取内容。 使用Firebug FirePath我正在为表元素获取以下路径:

 html/body/table/tbody/tr[3]/td/table[1]/tbody/tr[2]/td[1]/table[1]/tbody/tr[3]/td[4]

现在,经过无休止的实验,我发现,在一个独立的桌子上,我需要删除“tbody”标签才能使其正常工作。但是对于表格中的表格来说,这似乎不够。 所以我的问题是如何最好地从表格中的表格中获取内容?

我上传了我想在这里抓取的文件:1

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,因为你要删除一个复杂且格式不正确的html源码,我想在另一个表中的表中获取值..

我的方法是盯着我希望得到的一些功能系列这样的部分:

function parse_html() {//gets a specific part of the table i chose to extract the contents
    $query = $xpath->query('//tr[@data-eventid]/@data-eventid'); //gets the table i want
    $this->parse_table();
}
function parse_table() {//
    $query = $xpath->query('//tr[@data-eventid="405412"]/td[@class="impact"]/span[@title]/@title');...etc//extracts the content of the table
    $this->parseEvaluate();
} 
function parseEvaluate(){
    ...verifying values if correct
}

只是提出这个想法..

答案 1 :(得分:0)

怎么样:

//*[contains(text(),"GRABME")]

我知道这可能不是你想要的,但你明白了。识别模式并使用该模式构建xpath。