2017-03-17 77 views
0

我試圖從this site提取地址,HTML看起來像這樣:Beautifulsoup4 Python中提取數據

<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. 如何將空格放在最初的br標記是?
  2. 如何將字符串拆分爲單獨的字段(以csv):街道,郵編,城鎮,區域?

這可能是很簡單,但我完全新的編程和Python的...;)

回答

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