Webscraping в Python на основе интерактивного графика - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь очистить данные из линейного графика на этом сайте (ссылка внизу) в Python. Мое понимание html очень ограничено, и у меня возникают проблемы с поиском правильных элементов кода для получения данных за графиком. Моя идея состоит в том, чтобы следовать логике c из этого учебника .

И, возможно, использовать входные данные из этого учебника .

Может ли кто-нибудь мне помочь получить данные?

1 Ответ

0 голосов
/ 31 марта 2020

Данные иногда скрываются в тегах HTML.
Но большую часть времени они загружаются с помощью другого выделенного запроса, который возвращает JSON.
И это относится к вашему сайту :) и, к счастью, это будет легче обрабатывать.

  1. [Необязательно] Открыть Chrome в Режим инкогнито и очистить данные просмотра .
    При очистке всегда лучше начинать с совершенно нового fre sh сеанса
    , чтобы избежать побочных эффектов при воспроизведении навигации по коду.
  2. Откройте Chrome DevTools
  3. Go до Сеть Вкладка и фильтр для получения только ответов XHR.
    В большинстве случаев другие типы Ответы не интересны.
  4. Введите ваш URL
  5. Найдите запрос, который может содержать ценные данные, кратко рассмотрев их ответ.
    Если потребовалось время для извлечения, вероятно этот запрос.
    если он имеет JSON введите, вероятно, этот запрос.
    Вы также можете воспользоваться "Filter URL" бар, где вы можете фильтровать, введя:
    "ajax "," json "или" домен: www.your-domain.com ".

ajax request

Как только вы получите запрос , скопируйте его cURL и преобразуйте его в Python запрос здесь . Очистите его, удалив ненужные файлы cookie / заголовки (проверяя ваш запрос).

Наконец, у вас будет:

import requests

response = requests.get('http://www.worldgovernmentbonds.com/wp-admin/admin-ajax.php?action=jsonStoricoCds&area=23&dateRif=2099-12-31&durata=5Y', verify=False)
...