Во время выполнения php-скрипта парсера, примерно на 300-ой записи сервер выдаёт ошибку 5xx. После чего скрипт может дописать в фоновом режиме еще 500-600 записей (из 30000)
Как настроить парсер, чтобы он записал все 30000 записей без ошибок сервера?
include "simple_html_dom.php";
header('Content-type: text/plain');
$filename = 'name.csv'; //файл для записи csv
$file = "urls.txt"; //файл со ссылками на все 30000 статей
$fields = file($file, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES );
$fp = fopen($filename, 'a');
$i=1;
foreach($fields as $field) :
$url1 = $field;
//ссылка на статью для создания dom, надо метатеги и заголовок
$url2 = $field/content.html;
//ссылка на файл с контентом каждой статьи. Здесь только контент, без заголовка и метатегов
$content1 = @file_get_contents($url2);
$content1 = str_replace(array("\r\n", "\n", "<br />", "<br/>"), "", $content1);
$_content1 = addslashes($content1);
$html = new simple_html_dom();
$html = file_get_html($url1);
$title = $html->find('h1',0)->plaintext;
$_title = addslashes($title);
$metakey = $html->find( "meta[name=keywords]" );
$metadesc = $html->find( "meta[name=description]" );
$html->clear();
unset($html);
$metakey1 = $metakey[0]->content;
$metadesc1 = $metadesc[0]->content;
fputcsv($fp, array($i, $_title, $metakey1, $metadesc1, $_content1 ));
$i++;
endforeach;
fclose($fp);