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

Python爬虫如何从h4标签中同时获取链接和文本?现有脚本改造

Python 抓取h4标签文本和对应链接实现方案

你可以直接基于现有脚本调整BeautifulSoup的查找逻辑,适配h4标签嵌套a标签的结构同步提取两个字段即可,修改后的可运行代码如下:

import numpy as np
from time import sleep
from random import randint
from selenium import webdriver
from bs4 import BeautifulSoup

pages = np.arange(1, 2, 1)
# 存储结构改成字典,方便区分标题文本和对应链接
data = []

# 优化:把浏览器初始化放到循环外,避免重复打开窗口,不需要可以删掉改回你原来的逻辑
driver = webdriver.Chrome(r"C:\Users\ssakorkar\Desktop\chromedriver")

for page in pages:
    page_url = "https://www.bartonassociates.com/blog/tag/Infographics/p" + str(page) 
    driver.get(page_url)
    sleep(randint(2,10))
    soup = BeautifulSoup(driver.page_source, 'html.parser')
    # 查找页面所有h4标签
    h4_tags = soup.find_all('h4')

    for h4 in h4_tags:
        # 提取h4内部嵌套的a标签
        link_tag = h4.find('a')
        # 加判断避免部分h4下无a标签时报错
        if link_tag:
            # 提取链接和文本,strip=True可以去掉文本前后的空白换行
            item = {
                'title': link_tag.get_text(strip=True),
                'url': link_tag.get('href')
            }
            data.append(item)

# 抓取完成后关闭浏览器
driver.quit()

# 测试打印抓取结果
for item in data:
    print(f"标题:{item['title']},链接:{item['url']}")

关键修改说明

  • 把原脚本中查找class为author的逻辑替换为查找页面所有h4标签
  • 遍历每个h4标签时,优先提取其内部嵌套的a标签的href属性(对应链接)和文本内容
  • 存储结构调整为字典格式,你可以根据后续使用需求改成元组、列表等其他格式
  • 新增了非空判断,避免部分h4标签下没有a标签时触发空对象报错
  • 可选优化:将浏览器初始化逻辑移到循环外,减少重复启动浏览器的性能消耗

你提供的h4标签示例截图如下,上述逻辑完全适配该链接嵌套在h4内部a标签的结构:
h4标签示例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:18:03