从Tableau仪表板访问数据表时遇到问题(网站如下:click here)。我一直在Google中进行某些搜索,这有助于实现这一点。我试过的是以下代码(基于此处的另一个线程):
import requests
from bs4 import BeautifulSoup
import json
import re
urlPath = "BolsaUnicaemp3/Dashboard12"
r = requests.get(
f"https://public.tableau.com/views/{urlPath}",
params= {:showVizHome":"no", })
soup = BeautifulSoup(r.text, "html.parser")
tableauData = json.loads(soup.find("textarea",{"id": "tsConfigContainer"}).text)
dataUrl = f'https://public.tableau.com{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))
当我看到带有r
的最后一个info
请求时,找不到所需的表(Click here to see a screenshot of it)。我发现的只是上面的文本,而与结果无关(在西班牙语中称为Resultados)。 data
变量只是空的,所以我迷路了。
对于这个问题,我不是在提倡您为我的问题提供完整的解决方案,而只是建议一种可以帮助我提取该信息的方法/功能/包/线程/教程。那么,在这种情况下,您有什么建议吗?
非常感谢您
同样,如果您觉得我在说:“做我的工作”。那不是我的意图。我只是遇到一个非常具体的问题,那就是:如何从Tableau公共仪表板访问表?