2013-06-12 1 views
1

나는 터키 보건부 웹 사이트 중 일부에서 일부 뉴스를 파싱하고 있습니다. 그러나 예를 들어 웹 사이트가 다운되었거나로드 할 수없는 경우, 내 웹 사이트는 뉴스를 구문 분석 한 후에 컨텐츠를로드하지 않습니다. 구문 분석 시간을 줄이기위한 방법이 있습니까 (문제로 인해 웹 사이트가 거의 1 분 내에로드 됨). null을 반환하는 경우 연결을 만들거나 오류 메시지를 작성할 수 있습니까?웹 사이트가 다운 된 경우 PHP 간단한 HTML DOM

<?php 
$html = file_get_html('http://www.tkhk.gov.tr/TR,6/duyurular.html'); 
$i = 0; 
foreach($html->find('a.belge_alt_b') as $element2){ 
echo "<div class=\"post\"> 
<div class=\"matter\"> 
<h3><a target=\"_blank\" href=\"http://www.tkhk.gov.tr".$element2->href." \">". $element2->plaintext . "</a></h3> 
</div> 
</div> 
"; 
$i++ ; 
if($i > 4) break; 
} 
?> 
+0

증권 거래소 가치가 필요하다고 생각합니다. 그들을 파싱하지 않겠 니? 이것은 마치 그것과 같습니다. –

+0

"콘텐츠로드 중"과 같은 자리 표시자를로드하고 'Ajax'를 사용하여 특정 콘텐츠를로드하는 것이 왜 좋을까요? – kormoc

답변

0

file_get_html() 대신 PHP 컬 라이브러리를 사용하고 적절하게 시간 제한을 설정할 수 있습니다. Setting Curl's Timeout in PHP

+0

OP가'file_get_html()'을 고집하고 싶다면 curl을 사용하여 먼저 상태 코드를 확인할 수 있습니다 : http://stackoverflow.com/questions/2539926/validate-links-with-php/2539983#2539983 –

+1

@jk. - 그 때를 제외하고 그는 두 가지 요청을 할 것입니다. – danielrsmith

+0

동의, 그냥 거기 밖으로 던져 줄 알았는데. –