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

如何利用URL锚点抓取网页指定子版块中的表格?

利用URL锚点精准抓取指定子版块的表格

当然可以,你完全可以借助URL中的锚点信息定位到目标子版块,再抓取其中的表格,避免手动计数索引的麻烦(毕竟页面结构变化会导致索引失效)。

实现思路

URL中的#Strikeforce_Challengers:_Britt_vs._Sayers锚点,对应页面中章节标题元素的id属性。我们可以通过CSS选择器定位到该标题,再选中它之后同层级的目标表格,精准锁定子版块内的内容。

改进后的代码

import requests
from bs4 import BeautifulSoup
import pandas as pd

wikiurl = 'https://en.wikipedia.org/wiki/2011_in_Strikeforce#Strikeforce_Challengers:_Britt_vs._Sayers'
# 从URL中提取锚点部分
anchor = wikiurl.split('#')[1]

response = requests.get(wikiurl)
soup = BeautifulSoup(response.text, 'html.parser')

# 使用CSS选择器:选中锚点标题之后的所有class为toccolours的表格
target_tables = soup.select(f'#{anchor} ~ table.toccolours')

# 读取第一个目标表格(如果存在)
if target_tables:
    df = pd.read_html(str(target_tables[0]))[0]
    print(df.head())
else:
    print("未找到目标子版块内的表格")

关键说明

  • #{anchor} ~ table.toccolours是核心CSS选择器:
    • #{anchor}定位到锚点对应的章节标题元素
    • ~是通用兄弟选择器,会选中该标题之后所有同层级的、class为toccolours的表格
  • 这种方式不受页面其他表格数量变化的影响,比手动计数索引更稳定

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:35:28