2010-08-06 80 views
-1

我有一个网站http://www.coldwellbankerpbr.com/listings.aspx,我想抓住房源,现在我需要的地址和卧室的详细信息,等等但是除了文本地址没有唯一的标识符(这是重复几次上页面)我在看PHP DOM,但是这似乎更多的是寻找独特的标签(div id's等)。PHP屏幕抓取方法

有没有更多的方法,我应该看看这个更基于文本的地址******搜索?该表是这样的:

<td width="55">Address</td><td>ADDRESS HERE</td> 

谢谢!

+2

你不能在页面底部看到一个注释,**“严禁全部或部分复制。”**? – 2010-08-06 03:34:18

+0

现在通常我会评论一下,我问你如何做到这一点的方法,而不是我可以。但我想我会通过,让我们总结一下。我正在为有权复制的代理人执行此操作。 – Steven 2010-08-06 03:39:27

回答

3

我会尝试XPath,如果我是你。例如使用SimpleXml

$path = "/html/body/form[@id='main']/table/tbody/tr[4]/td/table/tbody/tr/td[1]/table/tbody/tr/td/table/tbody/tr/td[2]/table/tbody/tr[2]/td[2]" 

$xml = new SimpleXmlElement('http://www.coldwellbankerpbr.com/listings.aspx', null, true); 
$addresses = $xml->xpath($path); 

foreach($addresses as $address) { 
    echo $address; 
} 

XPath应该为您提供列表地址的实际文本。但是你可以玩它并在XPath上阅读,以获得任何你想要的东西。实际上,你可以简化这条路径。我只是在Firefox的XPather扩展中生成以节省自己的一些麻烦:-)你也可以使用带有DOMDocument的XPath,但它的使用稍微复杂一些。

+0

如果你打算投票,至少留下一个评论为什么......可能会在未来拯救我和其他人同样的问题。 – prodigitalson 2010-08-06 03:49:41