Ответы пользователя по тегу Beautiful Soup
  • Как спарсить это значение через python?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    И не будет. Таблица

    <tbody class="table table-hover usdtrub_ask asks">

    пустая и заполняется js после загрузки страницы. Надо или использовать Selenium, или разобраться, откуда скрипт подгружает эти данные, и воспроизвести (подсказка: wss://ws.garantex.io).
    Ответ написан
    Комментировать
  • Как сохранить результат работы парсера в файл .txt?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Я, конечно, понимаю, что указанное куратором тэга решение будет работать, но вообще говоря оно всё равно неправильное. Легко увидеть, что в таком варианте при повторном запуске скрипта файл не будет пересоздан - в него будут добавлены всё те же записи ещё раз.

    Тут ошибка в том, что файл открывается заново в каждой итерации цикла, что само по себе неразумно, а также и перезатирается его содержимое. Поэтому-то и получается одна строка в итоге. Для исправления надо вынести открытие файла на уровень выше, чем for. В этом случае он будет открыт один раз и закрыт только после завершения цикла.
    Ответ написан
    9 комментариев
  • Как cпарсить тег конкретный тег html если его класс повторяется мне это надо сделать через beautifulsou?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Просто перебрать все нужные:

    for node in xxx.findall('div', class_='foobar'):
      ...
    Ответ написан
    Комментировать
  • Парсинг википедии с помощью Beautiful Soup?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Википедия, в отличие от большинства сайтов, не ставит задачу сокрытия данных от использования. Кроме её парсинга полезно рассмотреть альтернативные способы:

    1. Парсинг дампов SAX-парсером: https://dumps.wikimedia.org/ruwiki/latest/

    Главное в тексте находить нужные категории.

    2. Использование SPARQL к Wikidata: https://query.wikidata.org/

    Например, я наскоро набросал такой запрос, находящий все элементы субклассов "животное":

    select ?animal ?animalLabel where {
    # субкласс (wdt:P729) животного (wd:Q729)
      ?animal wdt:P279 ?animalSubClass.
      ?animalSubClass wdt:P279* wd:Q729.
      SERVICE wikibase:label { bd:serviceParam wikibase:language "ru,en". }
    }


    К сожалению, не всегда данные в Википедии хорошо размечены семантически, поэтому в подобную выборку может попасть не всё. Ну и полно будет извлечено из enwiki.
    Ответ написан
    Комментировать
  • Не парсится дата с сайта. Что делать?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Эти данные заполняет javascript на сайте (с включённым uMatrix у меня тоже ничего не показало). Надо разобраться, что и как скрипт делает, и воспроизвести его логику. Подозреваю, что нужные данные находятся в параметре vfa формы finanaliz-form, но дальше разбираться мне лень.
    Ответ написан
    Комментировать