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

如何用Beautiful Soup获取div类下a标签的href链接?解决爬取输出[]问题

爬取href返回空数组的解决办法

1. 精准定位元素选择器

从你提供的HTML结构来看,目标链接嵌套在特定容器的a标签内,需确保选择器能精准命中目标:

  • 使用BeautifulSoup的示例写法:
    from bs4 import BeautifulSoup
    
    soup = BeautifulSoup(页面源码, 'html.parser')
    # 根据实际HTML容器类名调整,比如截图中的listing-item容器
    target_href = soup.select_one('div.listing-item a')['href']
    print(target_href)
    
  • 使用Scrapy的XPath选择器示例:
    //div[contains(@class, 'listing-item')]/a/@href
    

2. 处理动态渲染问题

如果页面内容是通过JavaScript动态加载的,直接爬取静态源码会无法获取数据,此时需要模拟浏览器加载页面:

  • 使用Selenium的示例代码:
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    driver = webdriver.Chrome()
    driver.get("目标网页地址")
    # 等待目标元素加载完成后再抓取
    wait = WebDriverWait(driver, 10)
    link_element = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, 'div.listing-item a')))
    print(link_element.get_attribute('href'))
    driver.quit()
    

3. 核对HTML结构匹配度

检查爬取代码中的选择器与实际HTML的标签层级、类名是否完全一致,避免因类名拼写错误、层级定位偏差导致无法找到目标元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 07:05:19