• Как ускорить парсинг данных с Python/Selenium?

    Вместо chromedriver вы можете использовать phantomjs, это ускорит переход по страницам.
    Но я практически на сто процентов уверен, что вам не нужен интерпретатор javascript, чтобы спарсить необходимые данные.
    Если открывается popup без подгрузки данных (без ajax), значит данные находятся где-то в html и их можно спарить.
    Если с подгрузкой, тогда нужно делать запрос напрямую (на тот url откуда загружаются данные).
    Ответ написан
  • Как ускорить парсинг данных с Python/Selenium?

    alekciy
    @alekciy
    Вёбных дел мастер
    На 100к ссылок, особенно если требуется их обходить достаточно часто (или на сервере ресурсов мало), есть уже смысл задумать о более кастомных (читай, напилить руками низкоуровневый механизм), но более быстрых механизмах. Как-то запросы на получение AJAX данных через curl. Или если данные получаться в рамтайме на клиенте через замудренный JS, то применить SpiderMonkey, V8 либо другие серверных движки.

    В общем чтобы пропарсить наверное миллион таких строк у меня уйдет месяц непрерывной работы селениума

    Делал на кластере из PhantomJS парсер который должен был за 15 минут обходит чуть больше 1к страниц и парсить из них разные хитрые таблички. Требовалось что-то около десяти инстансов PhantomJS, 20 Гб ОЗУ и 16 ядер ЦПУ. На таком кластере 100к за сутки переварит реально.
    Когда требование по времени ужесточилось до 5 минут, напилил на SpiderMonkey.

    element is not found

    Нужно использовать wait(). Тогда дальше код будет выполняться когда на странице появиться нужный элемент.

    где нет кучи попапов, которые все надо прокликать

    Наличие/отсутствие попапов не играет роли. Все, что появляется в DOM, все можно отработать. Регулярно тягаю данные с яндекс ворстата. Много там разных хитрых обработчиков. Но все силами PhantomJS-а через webdriver решается рано или поздно.

    Это действительно так?

    Возможно. Но так ли это в вашем контексте ни кто кроме эксперимента не скажет. Т.е. берем данное утверждение и проверяем в своей задаче парсинга.
    Ответ написан
    3 комментария
  • Как загрузить фото на стену по ссылке на пк через vk_api?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Примеры есть в документации
    https://github.com/python273/vk_api/blob/master/ex...

    Только вместо обычного метода photo нужен photo_wall

    photo_wall('path', group_id=group_id)
    Ответ написан
    3 комментария
  • Почему не хочет работать метод find_all в BeautifulSoup?

    ResultSet object has no attribute 'get'. You're probably treating a list of items like a single item

    Само сообщение об ошибке говорит, что не так. Ты вызываешь метод get в объекте, в котором этого метода нет. Ты пытаешься из коллекции (списка) тегов достать какой-то href. Вместо этого тебе нужно пройтись циклом по коллекции, которую возвращает find_all, и из каждого элемента (тега) отдельно достать ссылку из атрибута href. Обычный find работает для тебя потому, что он возвращает один элемент (тег).
    Ответ написан
    1 комментарий
  • Как достать второй reply_markup в PyTelegramBotAPI?

    @twistfire92
    Python backend developer
    message.json.reply_markup
    Ответ написан
    Комментировать
  • Как привязать платежи PyTelegramBotAPI?

    @violpeople
    Вот можете почитать эту статью, когда то помогла мне
    Ответ написан
    Комментировать