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

使用BeautifulSoup爬取房产网站时如何提取嵌套的房产类型文本

解决方案

目标页面中你需要提取的加粗房产类型字段,是每个div.inline-group节点下h3标签内部的<strong>节点内容,直接精准定位该节点提取即可。

修改后的完整代码

from requests_html import HTMLSession
from bs4 import BeautifulSoup
import pandas as pd
import re

s = HTMLSession()
url = 'https://www.imoti.net/bg/obiavi/r/prodava/bulgaria/?page=1&sid=iXMpXe'

r = s.get(url)
soup = BeautifulSoup(r.text, 'html.parser')


def get_prices(urls):
    prices = []
    type_of_property = []
    # 先一次性获取所有房源节点,避免重复遍历整个列表
    estate_list = soup.find('ul', {'class': 'list-view real-estates'}).find_all('li', class_='')
    for item in estate_list:
        # 提取价格
        price_text = item.find('strong', {'class': 'price'}).get_text()
        price_arr = re.findall('[0-9]+', price_text)
        final_price = ''.join(price_arr)
        prices.append(final_price)
        # 提取加粗的房产类型字段
        property_type = item.find('div', {'class': 'inline-group'}).find('h3').find('strong').get_text(strip=True)
        type_of_property.append(property_type)
    return prices, type_of_property

print(get_prices(url))

关键修改说明

  • 优化了遍历逻辑:一次性获取所有房源节点后逐个提取所需字段,不需要两次查询整个房源列表,运行效率更高
  • 房产类型提取改为精准定位:从每个房源节点下的div.inline-group依次找到h3标签、内部的strong标签,直接提取目标文本,同时用strip=True自动去掉首尾多余的空白字符
  • 简化了价格拼接逻辑,用join方法替代原有循环拼接代码,写法更简洁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:15:03