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

如何用Python和Beautiful Soup获取div内的data-lnk-href属性

正确提取data-lnk-href属性的实现方法

你的代码存在三个关键问题:

  • 属性名拼写错误:目标属性是data-lnk-href,你误写为data-link-href
  • 元素定位错误:data-lnk-href直接挂载在目标div标签上,无需查找嵌套的a标签
  • 类名间的多空格不影响匹配,BeautifulSoup会自动处理类名间的多余空格

正确实现代码

import requests
from bs4 import BeautifulSoup

# 目标网页地址
url = "https://www.pisos.com/alquiler/pisos-a_coruna/"
# 请求页面并解析
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

# 查找所有带有目标类的div元素
flats = soup.find_all("div", class_="ad-preview ad-preview--has-desc")

# 遍历提取属性
for flat in flats:
    # 使用get方法避免属性不存在时抛出异常
    lnk_href = flat.get("data-lnk-href")
    if lnk_href:
        print(lnk_href)

简化写法(使用CSS选择器)

也可以用CSS选择器直接定位元素,代码更简洁:

flats = soup.select("div.ad-preview.ad-preview--has-desc")
for flat in flats:
    lnk_href = flat.get("data-lnk-href")
    if lnk_href:
        print(lnk_href)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 13:05:18