【发布时间】:2020-04-06 02:21:46
【问题描述】:
下面是我用 BeautifulSoup 提取的 html 块
HTML:
<div class="adr">
940 Walton Street<br/>Salt Lake City, UT 84116 </div>
我想拆分它的文本并将它们分配如下:
address = '940 Walton Street'
city = 'Salt Lake City'
state = 'UT'
zipcode = '84116'
到目前为止,我设法将其提取如下,但无法找到分配地址部分的方法。
第一次尝试:
print(soup.get_text(separator=" ").strip())
会给我下面的输出
940 Walton Street Salt Lake City, UT 84116
第二次尝试:
textTmp = soup.text
textStripped = re.split('"([A-Z])"', textTmp)
print('+' + textStripped[0] + '+')
给我下面的输出,(所有空格)
940 Walton StreetSalt Lake City, UT 84116
第三次尝试
''.join(personAddress.find('br').next_siblings)
这给了我这个输出,但不是第一部分:
Salt Lake City, UT 84116
其实这个很好,我会把它解析成城市、州和邮政编码,但是从这里我无法访问第一部分(地址部分)
我被困住了。有人可以帮我解决这个问题吗?或者至少给我一些指示? 任何帮助将不胜感激。
【问题讨论】:
标签: python-3.x beautifulsoup python-textprocessing