如何处理过期的tableau会话



我想下载下表中的数据:https://public.tableau.com/profile/oregon.health.authority.covid.19#/vizhome/OregonCOVID-19病例是否按ZIP代码汇总表/病例是否按ZIP代码汇总表?publish=yes

单击一个单元格,然后再次单击并取消选择它;激活";桌子。然后点击表格底部的下载图标;数据";(该选项在不"激活"所述的表的情况下被禁用(。在弹出的窗口中;完整数据";选项卡并检查";显示所有列";复选框。然后右键单击";将所有行下载为文本文件";,你会得到这样一个链接,下载一个csv。

https://public.tableau.com/vizql/w/OregonCOVID-19CasesbyZIPCode-SummaryTable/v/CasesbyZIPCodeSummaryTable/vudcsv/sessions/8B9BA06A1053493B90D50491CE080449-0:0/views/5592189642670210780_8788956907388558289?showall=true&underlying_table_id=Migrated%20Data&underlying_table_caption=Full%20Data

url中的会话uid在几分钟后过期,之后您将得到410("gone"(响应。

如何在没有手动步骤的情况下长期访问这些数据?我想到了selenium/webdriver,还有什么更直接的吗?

另一种方法实际上是抓取渲染的数据。我制作了这个python tableau scraper库,它从tableau工作表中提取数据。您需要找到Tableau URL(使用开发人员工具的网络选项卡(。在这种情况下,它如下:

GET https://public.tableau.com/views/OregonCOVID-19CasesbyZIPCode-SummaryTable/CasesbyZIPCodeSummaryTable

以下代码提取了您正在/正在查找的表:

from tableauscraper import TableauScraper as TS
url = "https://public.tableau.com/views/OregonCOVID-19CasesbyZIPCode-SummaryTable/CasesbyZIPCodeSummaryTable"
ts = TS()
ts.loads(url)
dashboard = ts.getDashboard()
for t in dashboard.worksheets:
#show worksheet name
print(f"WORKSHEET NAME : {t.name}")
#show dataframe for this worksheet
print(t.data)

在repl.it 上运行此代码

最新更新