2014-12-02 4 views
1

Я пытался получить некоторые данные с сайта wikia, используя simple_html_dom lib для php. в основном, что я делаю, это использовать wikia api для преобразования в html-рендеринг и извлечения данных оттуда. После извлечения я буду перекачивать эти данные в базу данных mysql для сохранения. Моя проблема заключается в том, что, как правило, я буду вытаскивать 300 записей, и я застрял на 93 записях с файлом_get_html, равным нулю, что приведет к сбою функции find(). Я не уверен, почему он останавливается на 93 записей, но я попробовал различные решения, такие какphp timeout с file_get_html

ini_set('default_socket_timeout', 120); 
    set_time_limit(120); 

в основном я буду иметь страницу Викия доступа в 300 раз, чтобы получить эти 300 записей. Но в основном мне удастся получить 93 записи до того, как file_get_html получит значение null. Любая идея, как я могу решить эту проблему?

У меня есть тест-локоть, а также с той же проблемой.

function test($url){ 
$ch=curl_init(); 
$timeout=5; 

curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 

$result=curl_exec($ch); 
curl_close($ch); 
return $result; 
} 

$baseurl = 'http://xxxx.wikia.com/index.php?'; 

foreach($resultset_wiki as $name){ 
    // Create DOM from URL or file 
$options = array("action"=>"render","title"=>$name['name']); 
$baseurl .= http_build_query($options,'','&'); 
$html = file_get_html($baseurl); 
if($html === FALSE) { 
echo "issue here"; 
} 
    // this code for cURL but commented for testing with file_get_html instead 
    $a = test($baseurl); 
    $html = new simple_html_dom(); 
    $html->load($a); 

    // find div stuff here and mysql data pumping here. 
} 

$ resultsetwiki массив со списком заголовка для извлечения из викия, в основном resultsetwiki набор данных нагрузки из БД, а также перед выполнением поиска.

практически я буду его этот тип ошибки

Call to a member function find() on a non-object in 
+0

Вы пытались использовать «завиток»? – Ghost

+0

да, но я все равно получаю тот же результат попадания нулевой ошибки на запись 93. Как ни в чем не отличается, не используя завиток. – user1897151

+0

Разве веб-сайт просто не дросселирует вас, потому что вы отправляете большое количество звонков им за очень короткий период времени? – Erik

ответ

0

ответил мой собственный вопрос, как представляется, в URL, который я использую, и я изменил свернуться с должности на должность параметра действия и название вместо