如何使用BeautifulSoup按a标签文本提取对应href链接地址
补充解析实现代码
在你已有的soup = BeautifulSoup(result, 'html.parser')代码后,追加以下内容即可完成两项提取需求:
# 提取所有a标签的href属性与对应链接文本 all_links = [] for a in soup.find_all("a"): link_text = a.get_text(strip=True) link_href = a.get("href") if link_text and link_href: all_links.append({"链接文本": link_text, "链接地址": link_href}) # 提取文本内容为"Summary"的a标签对应的链接地址 summary_link = "" for a in soup.find_all("a"): if a.get_text(strip=True) == "Summary": summary_link = a.get("href") break # 打印结果验证 print("全量链接对应信息:", all_links) print("Summary标签对应链接:", summary_link)
实现说明
- 用
get_text(strip=True)获取链接文本时,会自动穿透嵌套的<strong>、<font>等内层标签,同时去除文本前后的空格、换行符,不会因为标签嵌套或者多余空白导致文本提取、匹配失败。 - 用
get("href")获取属性值属于安全取值逻辑,就算遇到没有href属性的异常a标签也不会抛出运行报错。 - 如果需要可直接访问的完整链接,把拿到的相对地址和页面前缀
https://www.itu.int/rec/拼接即可,比如示例里的Summary相对地址拼接后就是可直接请求的完整路径。
内容的提问来源于stack exchange,提问作者Yuliia
相关产品推荐
相关产品推荐

