Nano Hash - криптовалюты, майнинг, программирование

Веб-скрейпинг Beautifulsoup.

Я пытаюсь очистить данные от DnDbeyond. Я использую Beautifulsoup и python и смог получить некоторую информацию, которая мне нужна, с помощью тега «Div» и классов «Find_all», но я не могу найти информацию из этих отформатированных блоков, которые содержат статистику символов .

<div class="ct-skills__col--skill">Animal Handling</div>

Я должен иметь возможность просто искать soup.find("div", {"class": "ct-skills__col--skill"})

Правильно?

Вот как выглядит мой текущий код.

from bs4 import BeautifulSoup
import requests

resp = requests.get('https://www.dndbeyond.com/characters/4741434')
soup = BeautifulSoup(resp.text, 'lxml')

divTag = soup.find_all("div", {"class": "container"})

что меня заводит

[<div class="container">
<div class="main content-container" id="content">
<section class="primary-content" role="main">
<div data-character-endpoint="/character/4741434/json" data-character-id="4741434" data-read-only="true" id="character-sheet-target"></div>
<script src="/Content/1-0-482-0/React/CharacterTools/dist/characterSheet.bundle.min.js" type="text/javascript"></script>
</section>
</div>
</div>]

Я знаю, что моя информация находится в разделе «character-sheet-target», но я не могу понять, как получить туда информацию/класс.

Извините, если это сумбурно, я не знал, как это хорошо объяснить.

22.09.2018

  • Эта страница использует Javascript на клиенте для создания страницы. 23.09.2018
  • Хорошо, круто, а есть ли способ получить эту информацию? 23.09.2018
  • Догадаться. Пришлось использовать Selenium, чтобы очистить javascript, я думаю. 23.09.2018

Ответы:


1

Вы можете использовать их json api, селен не нужен, см. код ниже.

import requests
req = requests.get('https://www.dndbeyond.com/character/4741434/json')
print req.json()
23.09.2018
  • Я не знал, что это существует. Это облегчает этот путь, большое спасибо. Когда я искал в Интернете, я просто увидел группу людей, говорящих, что, возможно, когда-нибудь появится API, а этого еще не существовало. 24.09.2018
  • Рад помочь вам! 24.09.2018

  • 2

    Я почти закончил детализировать всю структуру.

    Исходный код Objective-C включает все определения классов.

    https://github.com/mouser/BeyondDnD

    25.11.2020
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..