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

Python抓取JavaScript动态生成表格:如何提取目标站点前7列数据

解决思路
  • 你已经调用了resp.html.render()完成了页面JS渲染,不需要额外解析script标签内容,渲染后的HTML已经包含完整的可见表格结构
  • 直接定位页面中的比赛表格,逐行读取单元格内容,筛选前7列即可
修正后的可运行代码
from requests_html import HTMLSession
from bs4 import BeautifulSoup

session = HTMLSession()
resp = session.get("https://madduxsports.com/college-basketball-lines.php")
# 可根据网络情况调整sleep参数延长等待时间,单位为秒
resp.html.render(sleep=2)
soup = BeautifulSoup(resp.html.html, "lxml")

# 定位目标表格
table = soup.find("table", class_="dbtable")
# 提取所有行,[1:]表示跳过表头,需要保留表头可删除该切片
rows = table.find_all("tr")[1:]

result = []
for row in rows:
    cells = row.find_all("td")
    # 过滤空行,只保留前7列数据
    if len(cells) >= 7:
        row_data = [cell.get_text(strip=True) for cell in cells[:7]]
        result.append(row_data)

# 输出验证结果
for item in result:
    print(item)
补充说明
  • 如果遇到渲染超时报错,可给render()方法添加timeout=20参数延长超时阈值
  • 提取到的结果可根据需求自行存储为csv、json等格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:15:02