2012-03-18 2 views
0

테이블의 첫 번째 열에서 이름과 URL을 http://www.pferd-aktuell.de/fn-service/pferdebranchenbuch/kategorie-uebersicht/13/FN-Vereine에 가져오고 다음 NEXT 버튼을 통과하여 사용 가능한 모든 페이지에서 이름과 URL을 모두 가져 오려고합니다. 이런 식으로 시도하고 아무것도 출력하지 않습니다.PHP SimpleHTMLDom 추출

<?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을 탐색 계획하고 거기에서 너무 (오트, 이메일, 등 같은) 일부 div의를 추출 할 수 있습니다.

나를 시작할 수있는 샘플 코드는 무엇입니까?

+0

위에서 게시 한 코드를 보면 분명히 올바른 방향입니다. 다음 버튼이 가리키는 URL을 찾아 페이지에서 필요한 것을 추출하는 함수로 전달하십시오. – xbonez

답변

0

는 찾기() 호출이 아마해야합니다 :)하십시오

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

, 당신의 이있는 TD를 찾고 무의미한 = HTML 요소 다음에 클래스 속성.

+0

좋아, 지금은 효과가있다 :)하지만 문제는 ... 특수 독일어 문자를 손상시킨다. 이 베를린 클라인 퍼듀버린 E.V. Für Zucht u. Sportm, Glashüterter PSV OberFr.dorf e. V. 독일 문자는 어떻게 보관합니까? –

+0

그냥 모든 25하지만 11 반환하지 않는 것으로 나타났습니다. 난 왜 몰라. 아직도 확인 중 ... 또한 페이지 매김을 어떻게 처리합니까? –

+0

출력에서'Ã '를 얻으면 다른 UTF-8 텍스트가 다른 문자 세트 (아마도 iso-8859-1)로 표시된다는 것을 의미합니다. 전체 렌더링 파이프 라인이 utf-8로 설정되어 있는지 확인하십시오. –