Задать вопрос
@Spheniscus

Как ускорить работу парсера?

Программа реализует следующий алгоритм:
- прохожу по урл (http://сайт/id=значение)
- получаю данные, среди которых есть ссылка "подробнее"
- прохожу по ссылке "подробнее"
- получаю данные
- заношу данные в бд

Сейчас программа работает в 3 потока и скорость составляет 3-4 записи в базу за 2 секунды.
Страниц, которых необходимо спарсить больше 2 млн и чтобы пройтись по всем при текущей скорости работы понадобится очень много времени.
Получение страницы и парсинг происходит с помощью библиотеки HtmlAgilityPack

Как можно ускорить работу?
  • Вопрос задан
  • 396 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
Запустить 300 потоков
Ответ написан
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Или как sim3x советует, или есть еще вариант - не лить в базу, а фигачить все как есть в файлы, а на локале уже парсить. Уходит проблема с бд, ну, временно, разобраться что за косяки с бд все равно предстоит, но данные уже будут расположены локально, их можно и чем-то побыстрее пыха запарсить. И например в цсв сохранить, а потом тупо залить в базу.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы