我相信页面的标记是我遇到的问题的一部分,所以我想我需要发布源代码和 JSFiddleJSFiddle http://jsfiddle.net/45xa9/和原来的
我正在尝试获取诸如名称:和地址:之类的信息
从底部的表格。
尝试解决方案:
我编写了以下代码,希望看到所有表数据,但我要从中获取数据的表什么也没有返回。
<?php
$k=0;
$num=1000;
var_dump(libxml_use_internal_errors(true));
$domOb = new DOMDocument();
$html = @$domOb->loadHTMLFile('http://www.gis.catawba.nc.us/website/Parcel/parcel_main.asp?Cmd=query&key=372215634301&type=P');
$domOb->preserveWhiteSpace = false;
$items = $domOb->getElementsByTagName('td');
while ($k<(int)$num){
echo $items->item($k++)->nodeValue.'<br>';
};
?>
返回的只是:
布尔(假)
房地产搜索 - 旧版
地图图层
可见的
常见问题解答
帮助
地理信息系统主页
所以我希望有人能告诉我我做错了什么而错过了我正在寻找的所有数据?
如何尽可能轻松/简单地提取姓名和地址?
使用 Xpath 尝试了以下操作,但收到很多警告...
$dom = new DOMDocument;
$dom->load('http://www.gis.catawba.nc.us/website/Parcel/parcel_main.asp?Cmd=query&key=372215634301&type=P');
$s = simplexml_import_dom($dom);
echo $name = $s->xpath('//table[@class="words13]/td[contains(text(), "Name:")]');
echo $add = $s->xpath('//table[@class="words13]/td[contains(text(), Address:)]');
使用 user2518542 的代码并结合 hakre 代码我得到以下内容
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.gis.catawba.nc.us/website/Parcel/parcel_main.asp?Cmd=QUERY&key=372215634301&type=P&width=1280&height=923");
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);
$doc->loadHTML($result);
$tds = $doc->getElementsByTagname('td');
foreach($tds as $td) {
printf(" * %s\n", $td->textContent);
echo '<br>';
}
以下成功打印出所有标签。