【发布时间】:2015-10-27 03:41:04
【问题描述】:
这是来自网站的源代码布局:
<div class="address">
<a href="https://website.ca/classifieds/59-barclay-street/">
59 Some Street<br />City, Zone 1
</a>
</div>
我想获取用于 Google 地理编码的街道号码、路线和城市。如果我这样做
>>>article.find('div', {'class': 'address'}).text
'59 Some StreetCity, Zone 1'
它带走了<br />,我无法将路线与城市分开。如果我执行str().replace('<br />',', '),那么我必须以某种方式将其再次转换回之前的任何类型,以便我可以执行.text 来获取<a href> 之间的实际文本,这是低效的。我想使用.text 用来获取实际文本的功能,而不是删除<br> 内容的功能。我在我的环境中找不到名为BeautifulSoup.py 的文件,所以我正在查看GitHub 上的BeautifulSoup 源代码,但我在其中找不到def text,我不知道还能去哪里看.
更新:
articles = page_soup.find('h2', text='Ads').find_next_siblings('article')
for article in articles:
link = article.find('a')
br = link.find('br')
ad_address = br.previous_sibling.strip() + ', ' + br.next_sibling.strip().partition(', Zone ')[0]
#ad_address = link.br.replace_with(', ').get_text().strip().partition(', Zone ')
【问题讨论】:
-
你可以使用
article.find('div', {'class': 'address'}).string -
什么也没做,打印为
None
标签: python html beautifulsoup html-parsing bs4