Beautifulsoup4 Python提取数据

时间:2017-03-17 10:48:59

标签: python string web-scraping beautifulsoup

我正在尝试从this site中提取地址,而html看起来像这样:

<div class="col-xs-12 col-sm-6 col-address">
<div>ul. Małachowskiego 45<br />42-500 Będzin<br />woj. śląskie</div>
</div>

到目前为止,我使用

soup = BeautifulSoup(firma, "lxml")
address = soup.find("div", class_="col-address")
if address:
    address_firmy = (address.text)

我得到:"ul. Małachowskiego 4542-500 Będzinwoj. śląskie"

现在有两个问题:

  1. 如何将空格放在原来<​​strong> br 标记的位置?
  2. 如何将字符串拆分为单独的字段(在csv中):街道,邮编,城镇,区域?
  3. 这可能非常简单,但我对编程和Python都是全新的......;)

1 个答案:

答案 0 :(得分:1)

In [56]: soup.div.get_text(separator=',', strip=True)
Out[56]: 'ul. Małachowskiego 45,42-500 Będzin,woj. śląskie'
  • 您可以使用separator

  • 指定用于将文本位连接在一起的字符串
  • 您可以使用strip=True

  • 告诉Beautiful Soup从每个文本位的开头和结尾剥去空格