[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как повысить производительность скрипта?
Bolik
привет!
я тут пытаюсь парсить сайт http://www.bloggerei.de, прохожусь циклом и вытаскиваю инфу о зарегистрированных блогах. пробовал регулярками, но скорость была маленькая. потом открыл для себя библиотеку simple html dom parser. очень все интуитивно и понятно, уже много каталогов парсил и все было в разы быстрее, чем регулярки.
но с этим сайтом все по-другому. скрипт уже готов, все работает, но мне хотелось бы повысить скорость, сделать скрипт более умным.

include 'simple_html_dom.php';
error_reporting(0);
ini_set("max_execution_time", "90000");
$id=30440;
while($id<30441) {
$url= "http://www.bloggerei.de/blog/$id/d";
$html=file_get_html($url);
$inhalt=$html->find("table", 3)->find('table', 8); #inhalt der Tabelle
$thema=$inhalt->find('td',6)->plaintext;
$data=$inhalt->find('td',3)->plaintext;

вот пример как я это делаю. понятно, что не на каждом id есть инфа о блогах. как добавить в скрипт условие, чтоб возвращал мне только те id, где есть инфа? как повысить скорость работы скрипта?
Nikitian
Кардинально повысить скорость парсеров можно переписав их на параллельную загрузку и обработку.
Игорь_Vasinsky
переписать всё на регулярки и в 3 раза ускоришь.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Bolik
спасибо. я как раз думал, что регулярки медленнее и работать с ними не так интуитивно и просто. с simple html dom parser уже пропарсил несколько каталогов, скорость была приличной. мог по 60000 адресам пройтись за неколько часов. а тут на 50 адресов нужно 2 минуты. сегодня переписал немного скрипт, добавил функции, убрал переменные из цикла, но скорость осталась прежней.

может кто-то даст ссылку или идею как переписать скрипт для параллельной загрузки и обработки?
Nikitian
Изучайте curl_multi_init()
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.