首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用BeautilfulSoup解析python中的html片段

用BeautilfulSoup解析python中的html片段
EN

Stack Overflow用户
提问于 2018-11-28 12:47:36
回答 2查看 51关注 0票数 0

我需要使用BeautifulSoup解析这个HTML。字符串是

代码语言:javascript
复制
<address><span rel="v:address"><span dir="ltr"><span class="street-address" property="v:street-address">5015 Campbell Blvd</span>, <span class="locality"><span property="v:locality">Baltimore</span>, <span property="v:region">MD</span> <span property="v:postal-code">21236</span></span> </span></span></address>

实际上,我希望在标记Baltimore中获取值<span property="v:locality">

但是,当我运行下面的代码时,我只能到达<span class="street-address" property="v:street-address">。如何获得值是标记<span property="v:locality">

以下是我的密码。

代码语言:javascript
复制
from bs4 import BeautifulSoup
str = <address><span rel="v:address"><span dir="ltr"><span class="street-address" property="v:street-address">5015 Campbell Blvd</span>, <span class="locality"><span property="v:locality">Baltimore</span>, <span property="v:region">MD</span> <span property="v:postal-code">21236</span></span> </span></span></address>
soup = BeautifulSoup(str)
print(soup.address.span.span.find_all('property'))

输出是

代码语言:javascript
复制
[]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-28 13:08:56

代码语言:javascript
复制
>>> from bs4 import BeautifulSoup
>>> html = '''<address><span rel="v:address"><span dir="ltr"><span class="street-address" property="v:street-address">5015 Campbell Blvd</span>, <span class="locality"><span property="v:locality">Baltimore</span>, <span property="v:region">MD</span> <span property="v:postal-code">21236</span></span> </span></span></address>'''
>>> soup = BeautifulSoup(html, "lxml")
>>> target = soup.find_all('span', attrs={'property': 'v:locality'})
>>> for value in target:
        print(value.text)

Baltimore
票数 0
EN

Stack Overflow用户

发布于 2018-11-28 13:01:29

代码语言:javascript
复制
from bs4 import BeautifulSoup

str_html = '''<address><span rel="v:address"><span dir="ltr"><span class="street-address" property="v:street-address">5015 Campbell Blvd</span>, <span class="locality"><span property="v:locality">Baltimore</span>, <span property="v:region">MD</span> <span property="v:postal-code">21236</span></span> </span></span></address>'''

soup = BeautifulSoup(str_html, 'html.parser')
print (soup.findAll('span', {'property':'v:locality'})[0].text)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53519852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档