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

使用requests.get()爬取页面时获取到空<tbody>的问题求助

解决动态加载表格爬取问题

你的问题出在目标表格是JavaScript动态渲染的,requests只能获取页面初始的静态HTML,此时<tbody>还未被填充数据,所以返回空内容。下面提供两种可行的解决方法:

方法一:使用Selenium模拟浏览器加载

Selenium可以模拟真实浏览器行为,等待页面JS执行完毕后再获取完整的HTML内容。

代码示例

import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup

# 初始化Chrome浏览器(需提前下载对应版本的chromedriver)
driver = webdriver.Chrome()
url_perf = 'https://www.letrot.com/stats/fiche-cheval/enjoy-the-game/ZGJaZgYEBQMW/courses/dernieres-performances#sub_sub_menu_fichecheval'

try:
    driver.get(url_perf)
    # 等待表格tbody加载完成,最多等待10秒
    WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.TAG_NAME, 'tbody'))
    )
    # 获取渲染后的完整HTML
    html_perf = driver.page_source
    soup_perf = BeautifulSoup(html_perf, 'html.parser')
    last_perf_body = soup_perf.find('tbody')
    print(last_perf_body)
    
    # 可选:直接用pandas读取表格
    df = pd.read_html(html_perf)[0]
    print(df)
finally:
    driver.quit()

方法二:直接调用后端API接口

浏览器渲染表格数据时,通常会从后端API拉取JSON格式的数据源。你可以通过浏览器开发者工具找到这个接口,直接请求获取数据:

  1. 打开目标页面,按F12打开开发者工具,切换到Network标签
  2. 刷新页面,筛选XHR/Fetch类型的请求,查找包含"performances"或"cheval"关键词的请求
  3. 记录对应请求的URL、请求方法和必要请求头(比如Referer、User-Agent)
  4. 用requests直接请求该API,解析返回的JSON数据

代码示例(需替换为实际抓包得到的API地址)

import requests
import pandas as pd

headers = {
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
    'Referer': 'https://www.letrot.com/stats/fiche-cheval/enjoy-the-game/ZGJaZgYEBQMW/courses/dernieres-performances'
}

# 替换为你抓包得到的真实API地址
api_url = 'https://www.letrot.com/api/stats/cheval/performances/ZGJaZgYEBQMW'
response = requests.get(api_url, headers=headers)
data = response.json()

# 将JSON数据转换为DataFrame
df = pd.DataFrame(data['performances'])
print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:40:28