@Denis9999

Как использовать все ресурсы интернет соединения при парсинге сайтов?

Я написал программу парсер на PHP, работает на денвере. Меня начала не устраивать скорость и, для сравнения, я протестировал работу этой программы у знакомого. У его скорость до 25Мбит, скачивание торентов идет со скоростью 7 Мегобайт, против моих до 6144 Кбит/с и скачивания торента 700 Килобайт.
В итоге разница в скорости работы оказалась незаметной, что меня очень удивило.
Подскажите как использовать интернет-соединение на полную катушку?
  • Вопрос задан
  • 393 просмотра
Решения вопроса 2
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Если Ваш скрипт утилизирует интернет соединение не полностью - тому есть несколько вероятных причин:
a) сайт который вы парсите отдает поток по 1 соединению меньше чем Ваш канал
б) в работе скрипта есть простои на парсинг, работу с базой итд
Решение в общем случае одинаковое: запускать несколько копий парсера одновременно, смотреть на загрузку канала и процессора - во что упретесь первым угадать сложно.

PS Еще могу посоветовать не использовать модные dom парсеры и обертки на curl - простой curl и простые самодельные regexp работают в 10-100 раз быстрее.

PPS Вы путаетесь в показаниях по скорости) 25Мбит это округленно ~3 мегабайт/секунду, торенты не могут качаться на 7Mb/s
Ответ написан
DevMan
@DevMan
file_get_contents - самый тупой вариант, поскольку пока не обработается одна страница все остальные сосут. соответственно похеру какая ширина канала: при так подходе его не забить.

используйте мультикурл для грабинга, складывайте результат в базу/файлы и затем (или паралельно) спокойно с ними работайте.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы