下面的代码将返回一个字符串,它实际上是一个列表中的一系列字典。
import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
ua = UserAgent()
headers = {'User-Agent': ua.random}
response = requests.get('https://financialmodelingprep.com/api/v3/historical-market-capitalization/AAPL?limit=5&apikey=dd06415919d31913455307c546a9ea28', headers = headers)
content = response.content
parser = BeautifulSoup(content, 'html.parser')
parser_text = parser.text
parser_text 的返回值为
[ { “符号”:“苹果”, "日期" : "2021-04-30", “市值”:2225506979220 }, { “符号”:“苹果”, "日期" : "2021-04-29", “市值”:2259703876360 }, { “符号”:“苹果”, "日期" : "2021-04-28", “市值”:2286046443040 }, { “符号”:“苹果”, "日期" : "2021-04-27", “市值”:2299908530320 }, { “符号”:“苹果”, "日期" : "2021-04-26", “市值”:2305556047360 }]
如何将 parser_text 转换为包含每个字典作为元素的列表
[ '{ "symbol" : "AAPL", "date" : "2021-04-30", "marketCap" : 2225506979220 }', '{ "symbol" : "AAPL", "date" : "2021 -04-29", "marketCap" : 2259703876360 }', '{ "symbol" : "AAPL", "date" : "2021-04-28", "marketCap" : 2286046443040 }', '{ "symbol" : "AAPL", "date" : "2021-04-27", "marketCap" : 2299908530320 }', '{ "symbol" : "AAPL", "date" : "2021-04-26", "marketCap" : 2305556047360 }' ]
答案 0 :(得分:2)
我们可以使用请求库本身解析响应json
import requests
import json
response = requests.get("https://financialmodelingprep.com/api/v3/historical-market-capitalization/AAPL?limit=5&apikey=dd06415919d31913455307c546a9ea28")
return_dict = response.json()
print(return_dict)
我在这里没有看到 BeautifulSoup 或任何其他外部解析器的用例。
答案 1 :(得分:1)
你可以使用json.loads
void mycallback(void* data, SomeObj* obj);
void mycallback1(void* data, SomeObj* obj, const char*, const char*) { mycallback(data, obj); }
void mycallback2(void* data, SomeObj* obj, void*) { mycallback(data, obj); }
// And then
3rd_party_library_function_a(&mycallback1);
3rd_party_library_function_b(&mycallback2);