You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python爬取印度能源仪表板数据遇证书及TableauScraper报错

解决印度能源仪表板爬取的证书错误与TableauScraper问题

核心问题分析

  • 网站证书过期(NET::ERR_CERT_DATE_INVALID)导致请求无法获取正常响应,这是触发后续TableauScraper错误的根源
  • TableauScraper抛出的“NoneType对象无text属性”错误,本质是请求失败后返回空内容,代码尝试访问空对象的text属性引发异常

解决方案

1. 跳过证书验证,修复请求失败问题

TableauScraper底层依赖requests库,我们可以修改会话配置,强制跳过证书验证:

#!pip install TableauScraper requests

from tableauscraper import TableauScraper as TS
import requests

# 创建跳过证书验证的requests会话
session = requests.Session()
session.verify = False

# 禁用证书警告(可选,避免控制台输出冗余信息)
requests.packages.urllib3.disable_warnings(requests.packages.urllib3.exceptions.InsecureRequestWarning)

url = "https://public.tableau.com/app/profile/niti.energy.vertical/viz/ElectricityGeneration_0/Source"

ts = TS(session=session)
ts.loads(url)

# 示例:获取工作表数据
workbook = ts.getWorkbook()
for sheet in workbook.worksheets:
    print(f"工作表名称: {sheet.name}")
    print(sheet.data)

2. 额外优化建议

  • 跳过证书验证存在安全风险,仅在确认目标网站可信时使用
  • 若仍报错,可添加浏览器请求头模拟正常访问:
    session.headers.update({
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
    })
    

内容的提问来源于stack exchange,提问作者NoobCoderPy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 01:05:24