以下为
this question
,我在这里得到了发出ajax请求的代码:
import requests
import json
headers = {
'authority': 'services-dynarep.ddwa.finra.org',
'accept': 'application/json, text/plain, */*',
'accept-language': 'en-US,en;q=0.6',
'content-type': 'application/json',
}
data = '{"fields":["issueSymbolIdentifier","issuerName","isCallable","productSubTypeCode","couponRate","maturityDate","industryGroup","moodysRating","standardAndPoorsRating","lastSalePrice","lastSaleYield"],"dateRangeFilters":[],"domainFilters":[],"compareFilters":[],"multiFieldMatchFilters":[{"fuzzy":false,"searchValue":"gme","synonym":true,"fields":[{"name":"issuerName","boost":1}]}],"orFilters":[],"aggregationFilter":null,"sortFields":["+issuerName"],"limit":50,"offset":0,"delimiter":null,"quoteValues":false}'
response = requests.post('https://services-dynarep.ddwa.finra.org/public/reporting/v2/data/group/FixedIncomeMarket/name/CorporateAndAgencySecurities',
headers=headers, data=data)
print(response.status_code)
CSRF代码的cookie已被删除。
我想要的数据埋在json响应中。但是,任何将json转换为DataFrame或仅转换为常规字典的尝试都失败了。
data = json.dumps(response.json()['returnBody']['data'], indent=4)
print(data.replace('\\n', '').replace('\\', ''))
# print(pd.read_json(data.replace('\\n', '').replace('\\', '')))
给予
"[{"isCallable":"Y","couponRate":null,"issueSymbolIdentifier":"NTEB5563784","issuerName":"NTE MOBILITY PARTNERS SEGMENTS 3 LLC","maturityDate":"2028-06-30","productSubTypeCode":"CORP","moodysRating":"Baa2","standardAndPoorsRating":null,"lastSaleYield":null,"industryGroup":null,"lastSalePrice":null},{"isCallable":"Y","couponRate":null,"issueSymbolIdentifier":"NTEB5563785","issuerName":"NTE MOBILITY PARTNERS SEGMENTS 3 LLC","maturityDate":"2028-06-30","productSubTypeCode":"CORP","moodysRating":"Baa2","standardAndPoorsRating":null,"lastSaleYield":null,"industryGroup":null,"lastSalePrice":100},{"isCallable":"Y","couponRate":null,"issueSymbolIdentifier":"NTEB5563786","issuerName":"NTE MOBILITY PARTNERS SEGMENTS 3 LLC","maturityDate":"2028-06-30","productSubTypeCode":"CORP","moodysRating":"Baa2","standardAndPoorsRating":null,"lastSaleYield":null,"industryGroup":null,"lastSalePrice":100}]"
我替换了/n和//s,使pandas可以读取数据。然而,它仍然无法读取json
ValueError: Trailing data
我错过了什么?