我正在尝试提取https://www.lamudi.com.mx/nuevo-leon/departamento/for-rent/?page=1
中实时发布的数据我正在尝试使用以下内容来刮除卧室,浴室和平方米的内容:
tags2 = soup('span',{'class':'KeyInformation-label_v2'})
for tag in tags2:
tagl = tag.get_text().strip()
print(tagl)
但是我现在需要实际数据。 HTML的外观如下(卧室=休闲房,浴室=巴尼奥,平方米=建筑): </span>, <span class="icon-pin"></span>, <span>Grañ Francisco Villa ote San Pedro, San Pedro Garza García</span>, <span class="PriceSection-FirstPrice">$ 7,500</span>, <span class="PriceLabel"></span>, <span class="KeyInformation-value_v2">1</span>, <span class="KeyInformation-label_v2">Recámara</span>, <span class="KeyInformation-value_v2">1</span>, <span class="KeyInformation-label_v2">Baño</span>, <span class="KeyInformation-value_v2">50 m²</span>, <span class="KeyInformation-label_v2">Construidos </span>, <span class="KeyInformation-value_v2">
答案 0 :(得分:0)
对于标签内的文本,您需要使用tag.string方法
来自美丽的汤documentation:
soup = BeautifulSoup('<b class="boldest">Extremely bold</b>', 'html.parser')
tag = soup.b
tag.string
# 'Extremely bold'
答案 1 :(得分:0)
类'KeyInformation-label_v2'
仅返回属性的名称。您需要类'KeyInformation-value_v2'
来获取值。
您也可以为每个列表添加标题。请注意,有一些重复项。
titles = soup('div', {'class':'KeyInformation-attribute_v2'})
labels = soup('span', {'class':'KeyInformation-label_v2'})
values = soup('span', {'class':'KeyInformation-value_v2'})
for title, (label, value) in zip(titles, zip(labels, values)):
print(title.find('a')['title'], label.string, value.string.strip())
输出:
Loft en Renta Amueblado Una Recámara Cerca Udem Recámara 1
Loft en Renta Amueblado Una Recámara Cerca Udem Baño 1
Loft en Renta Amueblado Una Recámara Cerca Udem Construidos 50 m²
Loft en Renta Amueblado Una Recámara Cerca Udem Recámara 1
Loft en Renta Amueblado Una Recámara Cerca Udem Baño 1
Loft en Renta Amueblado Una Recámara Cerca Udem Construidos 50 m²
DEPARTAMENTO EN RENTA SAN JERONIMO EQUIPADO Recámaras 3
DEPARTAMENTO EN RENTA SAN JERONIMO EQUIPADO Baños 2
...