我有两个稍微不同的url:https://www.booli.se/annons/2278076,https://www.booli.se/bostad/507292
第一页和第二页的区别:第二页没有Utropspris(估计价格)。你知道吗
在第一个链接中,我将使用以下代码获得估计价格(Utropspris):
in[1]= soup.findAll('span', class_='property__base-info__value')[1].text.strip()
out[1]= u'3 800 000 kr\n\t\t\t64 407 kr/m\xb2'
然而,在第二个链接使用相同的代码我用上面我会得到费用(Avgift)
in[2]= soup.findAll('span', class_='property__base-info__value')[1].text.strip()
out[2]= u'4 425 kr/m\xe5n'
如何告诉我的代码,在第二个链接中,当我使用相同的代码时,这不再是估计价格(Utropspris)。这是费用(avgift),另存为费用,并为估计价格写NA。这是我代码的一部分,可能会有所帮助。你知道吗
url=https://www.booli.se/bostad/507292
import requests
from bs4 import BeautifulSoup
request = requests.get(url)
soup = BeautifulSoup(request.text,'lxml')
soup.findAll('span', class_='property__base-info__value')[1].text.strip()
你可以找到它们之间的区别。数据之前还有一个跨度。你知道吗
如您所见,您也可以废弃此元素。如果span content为
Utropspris
,则表示数据为Utropspris,否则表示Avgit。你知道吗其中一个想法是还可以刮除与值相关联的标记。正如我在站点中看到的,包含信息的每一行都被放入一个带有
class="property__base-info__item"
的li
项中。你知道吗因此,在第一个链接中,您有一个带有
class="property__base-info__unit"
的span,它的文本值是“Utropspris”,还有一个带有property__base-info__value
的span,它是您已经获得的值。你知道吗你可以这样做:
我还没有单独测试代码,但是我的想法是遍历项目列表,并获得标记和标记值。然后,您可以将这些对保存在字典中,并以您喜欢的方式相应地处理案例。你知道吗
相关问题 更多 >
编程相关推荐