【发布时间】:2020-11-14 05:27:47
【问题描述】:
我正在尝试从 html 元素中获取邮政编码和城市。但是,我找不到任何方法来单独抓取它们。
<div class="profile-info__address" itemprop="address" itemscope="" itemtype="http://schema.org/PostalAddress">
<img src="/Content/images/icons/location-pin.svg" class="icon-left">
1000 Bruxelles<br>Rue de Laeken 160
</div>
预期输出:
zipcode = 1000
city = Bruxelles
我试过了:
from bs4 import BeautifulSoup
html = """
<div class="profile-info__address" itemprop="address" itemscope="" itemtype="http://schema.org/PostalAddress">
<img src="/Content/images/icons/location-pin.svg" class="icon-left">
1000 Bruxelles<br>Rue de Laeken 160
</div>
"""
soup = BeautifulSoup(html,"html.parser")
address_container = [item.string.strip() for item in soup.select_one("[itemprop='address']") if item.string]
print(address_container)
它产生:
['', '1000 Bruxelles', 'Rue de Laeken 160']
如何将两个字段与地址分开?
注意:您在输出中看到的前导空格可能并不总是存在。
【问题讨论】:
-
邮编总是在城市名之前吗?
标签: python python-3.x web-scraping beautifulsoup