我需要使用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>实际上,我希望在标记Baltimore中获取值<span property="v:locality">。
但是,当我运行下面的代码时,我只能到达<span class="street-address" property="v:street-address">。如何获得值是标记<span property="v:locality">
以下是我的密码。
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'))输出是
[]发布于 2018-11-28 13:08:56
>>> 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发布于 2018-11-28 13:01:29
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)https://stackoverflow.com/questions/53519852
复制相似问题