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

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

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

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

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

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