2014-07-14 1 views
0

하나의 프로젝트에서 작업하고 있는데 문제가 하나 있습니다. 많은 양의 데이터 때문에 화면 스크래핑을하는 웹 페이지의로드 시간이 ~ 5-10 초입니다.PHP 간단한 HTML DOM 파서 긴 로딩 웹 사이트

PHP로 화면 긁힘을 시도 할 때 간단한 HTML DOM Parser 결과가 없습니다. 화면이 비어 있습니다. 몇 가지 시작 줄에 정확히 동일한 코드가있는 동일한 웹 사이트에서 다른 페이지를 입력 할 때 모든 것이 작동하기 때문에 제가 사용하는 모든 요소는 괜찮습니다.

웹 사이트로드가 완료 될 때까지 기다렸다가 화면 긁힘이 생길 수 있습니까?

감사

내 코드는 다음과 같습니다

<!DOCTYPE html> 
<html> 
<head> 
<title>Test</title> 
</head> 
<body> 
<?php 
error_reporting(0); 

include_once('../../simple_html_dom.php'); 

function scraping_slashdot() { 
    // create HTML DOM 
    $html = file_get_html('http://www.examplepage.com/'); 

    // get article block 
    foreach($html->find('div[id="rightBlock"]') as $article) { 
     // get title1 
     $item['title1'] = $article->find('div.[class="inputHead"]', 0)->plaintext; 

     $ret[] = $item; 
    } 


    // clean up memory 
    $html->clear(); 
    unset($html); 

    return $ret; 
} 

// ----------------------------------------------------------------------------- 
//output 
$ret = scraping_slashdot(); 

foreach($ret as $v) { 

    echo $v['title1']; 

} 
?> 
</body> 
</html> 
+0

확인 다른 유사한 질문을 새 ... 즉, 게시하기 전에 : 페이지를 추가하여로드 된 후에 당신이 함수를 완료 할 수 있습니다 http://stackoverflow.com/q/7620955/1519058을 – Enissay

+0

내가 확인하지만, 내 문제를 해결하는 데는 아무 것도 없습니다. sleep()을 추가 할 수 있습니까? 코드 어딘가에? 몇 가지 조합을 시도했지만 작동하도록 만들 수는 없습니다. – Rhck

+0

[MAX_FILE_SIZE] (http://stackoverflow.com/a/17939345/1519058)를 늘리십시오.이 예제에서 chown 대신 curl을 사용하십시오. http://stackoverflow.com/a/ 21186309/1519058 – Enissay

답변

0

는 jQuery를 사용하여 시도가?

$(document).ready() 
+0

Nop. 나는 이것에 새로운 오전 어떻게 해야할지 모르겠다. 위의 코드를 예로들 수 있습니까? Google 검색 후 – Rhck

+0

이 도움을 드릴 수있는 자습서를 찾았습니다. http://code.tutsplus.com/tutorials/screen-scraping-with-nodejs--net-25560 –

+0

PHP 질문이 없습니다. ! – Enissay