无法访问Tableau公共仪表板中显示的表

时间:2020-10-22 23:34:31

标签: python web-scraping tableau-api

从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公共仪表板访问表?

0 个答案:

没有答案