Python API: Как достать amount из страницы
Вот код страницы, которую надо спарсить:
<html>
<head>
<meta name="color-scheme" content="light dark">
</head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;">
{"contractData":{"amount":6414680,"owner_address":"TMXSPuwvw3A1PcMB2VssrXKfF26ANzfrcj","to_address":"T9yssSMcwoSXkh4jVpXG8KPPzeAyA5WQk6"}}
</pre>
</body>
</html>
В <p> есть amount и его значение, как их оттуда достать?
Вот мой код:
import requests
from bs4 import BeautifulSoup
transaction = 'тут ссылка на страницу'
response = requests.get(transaction).text
soup = BeautifulSoup(response, 'lxml')
Ответы (2 шт):
Автор решения: Object417
→ Ссылка
Распарсить полученную строку как JSON и достать значение как из словаря. Псевдокод:
resAsStr = requests.get(transaction).text
resAsDict = json.loads(resAsStr)
amount = resAsDict["contractData"]["amount"]
Автор решения: Сергей Ш
→ Ссылка
import json
from bs4 import BeautifulSoup
txt ='''<html>
<head>
<meta name="color-scheme" content="light dark">
</head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;">
{"contractData":{"amount":6414680,"owner_address":"TMXSPuwvw3A1PcMB2VssrXKfF26ANzfrcj",
"to_address":"T9yssSMcwoSXkh4jVpXG8KPPzeAyA5WQk6"}}
</pre>
</body>
</html>'''
soup = BeautifulSoup(txt, 'lxml')
print(json.loads(soup.pre.text)['contractData']['amount'])