讲师中心 微信公众号
AI工具推荐 视频效率加速

如何使用 Pandas 直接提取 HTML 表格中指定列的超链接(而非文本)

陌明酱_9635

陌明酱_9635

发布时间:2026-02-25 23:50:02

|

1219人浏览过

|

来源于php中文网

原创

如何使用 Pandas 直接提取 HTML 表格中指定列的超链接(而非文本)

本文详解如何利用 pandas.read_html 的 extract_links 参数配合数据清洗,从网页表格中精准提取超链接并构造完整 url,避免依赖 beautifulsoup,实现纯 pandas 流程化网页结构化数据采集。

本文详解如何利用 pandas.read_html 的 extract_links 参数配合数据清洗,从网页表格中精准提取超链接并构造完整 url,避免依赖 beautifulsoup,实现纯 pandas 流程化网页结构化数据采集。

在使用 pandas.read_html() 抓取网页表格时,若目标列包含 文本 形式的超链接(如 ESPNcricinfo 的“Scorecard”列),默认仅返回可见文本,丢失关键跳转信息。虽然 extract_links 参数支持提取链接,但其输出格式为 (text, href) 元组,且 href 多为相对路径或缺失协议,需进一步处理才能获得可用 URL。

核心解决方案:extract_links="body" + 列级元组解析 + 基础 URL 拼接

pandas.read_html(url, extract_links="body") 会将表格中所有 标签所在单元格替换为 (link_text, href) 元组(无链接则为 (text, None))。随后通过 apply() 对每列进行向量化处理,提取 href 并补全协议与域名:

import pandas as pd

url = 'https://www.espncricinfo.com/records/year/team-match-results/2005-2005/twenty20-internationals-3'
base_url = 'https://www.espncricinfo.com'

# 提取整表,所有含链接的单元格变为 (text, href) 元组
table = pd.read_html(url, extract_links="body")[0]

# 遍历每列,解包元组:取 href;若为 None 则保留原文本(极少发生);否则拼接 base_url
table = table.apply(
    lambda col: [
        v[1] if v[1] is not None else v[0]  # 优先取 href,无链接时回退到文本
        for v in col
    ]
)

# 若 href 为相对路径(如 "/series/xxx"),需手动补全
# 此处示例中 href 已含完整路径,但通用做法如下:
table = table.apply(
    lambda col: [
        f"{base_url}{v[1]}" if v[1] and v[1].startswith('/') else 
        v[1] if v[1] else v[0]
        for v in col
    ]
)

✅ 关键优势

使用华数设计生成高保真HTML原型、演示文稿、动画和设计评审
使用华数设计生成高保真HTML原型、演示文稿、动画和设计评审

使用经过文档化的设计技能,从真实的品牌或项目背景中生成HTML原生原型、幻灯片、动态演示、可视化图表和评审流程。

下载

立即学习“前端免费学习笔记(深入)”;

  • 零外部依赖:全程仅用 pandas,无需 BeautifulSoup 或 lxml;
  • 列粒度可控:extract_links="body" 作用于全部数据单元格,后续可对特定列(如 "Scorecard")单独处理,避免污染其他列;
  • URL 可靠性高:显式拼接 base_url 确保链接可直接访问,规避相对路径失效风险。

⚠️ 注意事项

进阶技巧:仅处理目标列,提升效率与安全性
若只需 "Scorecard" 列的链接,可先提取该列再处理,避免遍历无关列:

scorecard_col = table.iloc[:, -1]  # 假设 Scorecard 是最后一列
scorecard_links = [
    f"{base_url}{v[1]}" if v[1] else None
    for v in scorecard_col
]
table["Scorecard_URL"] = scorecard_links
table = table.drop(columns=[table.columns[-1]])  # 删除原始文本列

至此,你已获得一个结构清晰、链接可用的 Pandas DataFrame,可直接用于后续分析、存储或批量请求详情页。这一方法平衡了简洁性与鲁棒性,是动态网页静态表格链接提取的推荐实践。

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

相关专题

更多
Python爬虫获取数据的方法
Python爬虫获取数据的方法

Python爬虫可以通过请求库发送HTTP请求、解析库解析HTML、正则表达式提取数据,或使用数据抓取框架来获取数据。更多关于Python爬虫相关知识。详情阅读本专题下面的文章。php中文网欢迎大家前来学习。

693

2023.11.13

Python 时间序列分析与预测
Python 时间序列分析与预测

本专题专注讲解 Python 在时间序列数据处理与预测建模中的实战技巧,涵盖时间索引处理、周期性与趋势分解、平稳性检测、ARIMA/SARIMA 模型构建、预测误差评估,以及基于实际业务场景的时间序列项目实操,帮助学习者掌握从数据预处理到模型预测的完整时序分析能力。

340

2025.12.04

Python 数据清洗与预处理实战
Python 数据清洗与预处理实战

本专题系统讲解 Python 在数据清洗与预处理中的核心技术,包括使用 Pandas 进行缺失值处理、异常值检测、数据格式化、特征工程与数据转换,结合 NumPy 高效处理大规模数据。通过实战案例,帮助学习者掌握 如何处理混乱、不完整数据,为后续数据分析与机器学习模型训练打下坚实基础。

272

2026.01.31

Python数据分析与Pandas高级实战
Python数据分析与Pandas高级实战

本专题围绕 Python 数据分析展开,系统讲解 Pandas 的高级用法,包括数据清洗、透视表、时间序列分析以及多表合并与分组操作。通过实战案例,帮助开发者掌握高效处理与分析数据的方法,提高数据处理效率与分析能力。

771

2026.04.13

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

5510

2024.08.16

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

0

2026.11.03

Docker Desktop镜像构建教程
Docker Desktop镜像构建教程

想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。

0

2026.11.03

Docker Desktop容器创建指南
Docker Desktop容器创建指南

本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。

0

2026.11.03

Tailwind CSS 如何制作导航栏和卡片
Tailwind CSS 如何制作导航栏和卡片

用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。

0

2026.11.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 234人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn