2012-03-18 2 views
0

Я хочу получить имя и URL-адреса из первого столбца таблицы по адресу http://www.pferd-aktuell.de/fn-service/pferdebranchenbuch/kategorie-uebersicht/13/FN-Vereine И затем пройдите через кнопку NEXT, чтобы получить все такие вхождения Имен и их URL-адресов со всех доступных страниц. Я пробовал что-то вроде этого, и ничего не выводит.PHP SimpleHTMLDom Extraction

<?php 

include('simplehtmldom/simple_html_dom.php'); 
ini_set('max_execution_time', 1800); 

$url = 'http://www.pferd-aktuell.de/fn-service/pferdebranchenbuch/kategorie-uebersicht/13/FN-Vereine'; 
$html = file_get_html($url); 
$file = 'Titels.txt'; 

    if (!$fp = fopen($file, 'a+')) { 
     echo "Cannot open file ($file)"; 
     exit; 
     } 
    else { 
     for ($i=1; $i<=25; $i=$i+1) 
     { 
      $ret = $html->find('td[class]="withBorder bold"', $i); 
      fwrite($fp, $ret->plaintext."\n"); 
     } 
    } 

}

После извлечения TITEL и URL, я планирую навигации по каждому из этих URL-адресов и быть в состоянии извлечь некоторые дивы оттуда тоже (как Орт, электронная почта и т.д.).

Любой образец кода, чтобы я начал? Пожалуйста :)

+0

Из кода, который вы опубликовали выше, вы определенно находитесь на правильном пути. Найдите URL-адрес, на который указывает кнопка «Далее», и передайте это функции, которая извлекает все, что вам нужно со страницы. – xbonez

ответ

0

Вызов находки(), вероятно, следует:

$ret = $html->find('td[class="withBorder bold"]', $i); 
               ^---note the new location 

Как написано, ваш ищут любой тд, который HAS атрибут класса, а затем бессмысленный = элементом HTML.

+0

Хорошо, теперь это сработало :) Но дело в том, что ... Он отменяет специальные немецкие персонажи. Подобно этим BERLINER KLEINPFERDEVEREIN E.V. Für Zucht u. Sportm, Glashütter PSV OberFr.dorf e. V. Как мы сохраняем немецкие персонажи? –

+0

Просто заметил, что он также не возвращает все 25, а просто 11. Я не знаю, почему. Все еще проверяю ... И как мне обрабатывать разбивку на страницы? –

+0

Получение 'Ã' в выводе означает, что текст UTF-8 отображается как некоторая другая кодировка, возможно iso-8859-1. убедитесь, что весь конвейер рендеринга установлен на utf-8. –