Задать вопрос
Astrohas
@Astrohas
Python/Django Developer

Как ускорить парсинг на Python?

Добрый вечер, тостерчане! Захотелось в научных целях пропарсить башорг, ithappens и задолбали. Написал банальный парсер на bs4, скорость при 4 потоках 10 постов в секунду. Сеть 100Мбит (Монреаль). Пинг до башорга 82ms. Time показывает скорость загрузки страницы в одном потоке за 365ms. При таком раскладе, только на башорг уйдет около суток. Есть ли способы ускорить процесс?
  • Вопрос задан
  • 2530 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
sim3x
@sim3x
Парсинг вам не нужно ускорять
Вам нужно ускорить граббинг
А ускорить его можно если сделать кеширующий днс поближе, сам граббер разместить поближе к хосту донору

И если парсинг сделать на lxml, то и ускорять там уже нечего - он и так на Си написан
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@asd111
если используете только многопоточность, то можно запускать по 20-40 потоков или больше если процессор позволяет.
увеличивайте число потоков пока не нагрузите 100Мбит или процессор
Ответ написан
Комментировать
@kgbplus
Скачайте сайты многопоточной качалкой (типа winhttrack) и парсите уже со своего диска
Ответ написан
Комментировать
@Nitrius
башорг 1300+ страниц, выкачивается достаточно быстро, а дальше простой простой разбор. Также и с остальными сайтами.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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