Парсинг из Coinbase с помощью Python (Pycharm)

Я пытаюсь написать код, который даст мне цену в BTC, когда я его запущу. Хотя я не получаю сообщение об ошибке после запуска кода, я не получаю цену и получаю НЕТ. Может ли кто-нибудь посмотреть мой код и понять, в чем проблема? Вот код ниже:

import requests
from bs4 import BeautifulSoup

page = requests.get("https://www.coinbase.com/charts")
soup = BeautifulSoup(page.content, 'html.parser')
seven_day = soup.find(id="seven-day-forecast")
bitcoin = soup.find('pre',{'style':'word-wrap: break-word; white-space: pre-
wrap;'})

print(bitcoin)

Большое спасибо!


person Jay    schedule 05.11.2017    source источник
comment
Может потому что document.getElementById("seven-day-forecast") = null   -  person TheChetan    schedule 05.11.2017


Ответы (1)


Данные, которые вы хотите очистить, генерируются динамически. Вы можете сделать прямой запрос к API, чтобы получить эти значения:

url = 'https://api.coinbase.com/v2/prices/USD/spot?'
response = requests.get(url).json()
print(response)

Вывод:

{'data': [{'currency': 'USD', 'base': 'BTC', 'amount': '7590.01'}, {'currency':
'USD', 'base': 'ETH', 'amount': '296.86'}, {'currency': 'USD', 'base': 'LTC', 'amount': '54.59'}]}

Чтобы получить требуемое значение:

print(response['data'][0]['amount'])

Вывод:

'7590.01'
person Andersson    schedule 05.11.2017
comment
@Джей, есть отзывы? - person Andersson; 06.11.2017