如何用BeautifulSoup从房地产页面指定div中提取准确平方米数值
你可以通过正则表达式匹配目标数值,不需要关注前方逗号的数量,只要提取文本中「数字+м」的组合即可,修改后的代码如下:
首先导入正则处理模块:
import re
原有循环逻辑修改为:
for sqm in soup.find('ul', {'class': 'list-view real-estates'}).find_all('div', {'class': 'inline-group'}): sqm_text = sqm.get_text() # 匹配整数/小数格式的数值后接м的片段 area_match = re.search(r'(\d+\.?\d*)\s*м', sqm_text) if area_match: # 若需要带м的结果直接取group(),只要纯数值取group(1) sqm_area.append(area_match.group())
规则说明:
\d+\.?\d*兼容整数、小数格式的面积数值\s*适配数值和单位之间可能存在的空格- 自动过滤所有无关冗余文本,只有符合面积格式的内容会被提取
内容的提问来源于stack exchange,提问作者tsetsko
相关产品推荐
相关产品推荐

