使用 BS4 解析页面中的文本

Parsing Text From Page WIth BS4

在页面 https://bittrex.com/api/v2.0/pub/Markets/GetMarketSummaries 上,我正在尝试解析随请求提取的文本。我用来提取文本的代码在这里

import requests
from bs4 import BeautifulSoup

link = 'https://bittrex.com/api/v2.0/pub/Markets/GetMarketSummaries'
html = requests.get('https://bittrex.com/api/v2.0/pub/Markets/GetMarketSummaries').text
print(html)

我可以轻松地从页面中提取所有文本,但现在我想用 bs4 解析它,以便它只获取特定货币的数字,例如 ADX 或 ADT。 (显示为"MarketCurrency":"ADX") 我希望它能够从页面中找到诸如 High、Low、Volume 和 Last 之类的信息,而无需提取所有其他垃圾。因此,例如,我输入了我想要的货币代码,例如:ADX,然后它解析该文本并仅打印当天的最高价、最低价、交易量和最后一天的数字。感谢您的帮助!

事实上,你已经很接近了。正如评论所说,输出不是 HTML,而是 JSON。幸运的是 python 有一些很好的内置功能。以下代码将从站点输出的 JSON 文本解析为本机 python 字典 (json_dict)。

import requests
import json

link = 'https://bittrex.com/api/v2.0/pub/Markets/GetMarketSummaries'
raw_json = requests.get('https://bittrex.com/api/v2.0/pub/Markets/GetMarketSummaries').text
json_dict = json.loads(raw_json)
print(json_dict)