2010-08-06 3 views
-1

У меня есть сайт http://www.coldwellbankerpbr.com/listings.aspx, который я пытаюсь захватить списки, теперь мне нужны данные о адресе и спальне и т. Д., Однако нет уникального идентификатора, кроме текстового адреса (который повторяется несколько раз страница) Я смотрел PHP DOM, однако, похоже, он больше ищет уникальные теги (div id и т. д.).PHP Методы скрининга экрана

Есть ли еще какой-либо метод, на который я должен обратить внимание, это более основанный на тексте адрес ****** поиск? Таблица выглядит примерно так:

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

Спасибо!

+2

Вы не видите заметку внизу страницы, ** «Дублирование полностью или частично строго запрещено». **? –

+0

Теперь, как правило, я бы прокомментировал тот факт, что я прошу вас о методах, как это сделать, а не, если можно. Но я думаю, что пройду, давайте подведем итог. Я делаю это для агента, у которого есть разрешение на копирование. – Steven

ответ

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, чтобы получить все, что захотите. На самом деле вы, возможно, немного упростите этот путь .. Я просто сгенерирован в расширении XPather в Firefox, чтобы сэкономить немного хлопот :-) Вы также можете использовать XPath с DOMDocument, но его немного сложнее в использовании.

+0

Если вы собираетесь голосовать, по крайней мере, оставляйте комментарий, почему ... может спасти меня и других людей с тем же вопросом в будущем. – prodigitalson