我正在尝试提取伊利诺伊州纳洛酮配送中心的位置和名称,用于阿片类药物危机的研究项目。
这个画面生成的仪表板可从公共卫生部访问这里https://idph.illinois.gov/OpioidDataDashboard/
我已经尝试了所有我能找到的东西。首先更改 url 以使用 Tableau 的界面“下载”数据。那只能让我下载 pdf 地图,而不是它背后的实际数据集。其次,我修改了我在 Stack overflow 上看到过几次的 python 脚本,以尝试请求数据。但是,我认为它遇到了某种错误。下面的代码。
url = "https://interactive.data.illinois.gov/t/DPH/views/opioidTDWEB_prod/NaloxoneDistributionLocations"
r = requests.get(
url,
params= {
":embed":"y",
":showAppBanner":"false",
":showShareOptions":"true",
":display_count":"no",
"showVizHome": "no"
}
)
soup = BeautifulSoup(r.text, "html.parser")
print(soup)
tableauData = json.loads(soup.find("textarea",{"id": "tsConfigContainer"}).text)
dataUrl = f'https://tableau.ons.org.br{tableauData["vizql_root"]}/bootstrapSession/sessions/{tableauData["sessionid"]}'
r = requests.post(dataUrl, data= {
"sheet_id": tableauData["sheetId"],
})
dataReg = re.search('\d+;({.*})\d+;({.*})', r.text, re.MULTILINE)
info = json.loads(dataReg.group(1))
data = json.loads(dataReg.group(2))
print(data["secondaryInfo"]["presModelMap"]["dataDictionary"]["presModelHolder"]["genDataDictionaryPresModel"]["dataSegments"]["0"]["dataColumns"])
感谢任何帮助。
斯蒂芬大帝
相关分类