使用beautifulsoup获取itemprop

时间:2018-02-14 02:37:09

标签: python beautifulsoup

我想解析三个这样的itemprop标签:



<span itemprop="actors" itemscope="" itemtype="http://schema.org/Person">
<a href="/name/nm0005417?ref_=tt_ov_st_sm" itemprop="url"><span class="itemprop" itemprop="name">Lin Shaye</span></a>,             </span>
<span itemprop="actors" itemscope="" itemtype="http://schema.org/Person">
<a href="/name/nm1191481?ref_=tt_ov_st_sm" itemprop="url"><span class="itemprop" itemprop="name">Leigh Whannell</span></a>,             </span>
<span itemprop="actors" itemscope="" itemtype="http://schema.org/Person">
<a href="/name/nm0760151?ref_=tt_ov_st_sm" itemprop="url"><span class="itemprop" itemprop="name">Angus Sampson</span></a>            </span>
&#13;
&#13;
&#13;

我使用python代码:

soup.find('span',itemprop="actors")

但我只得到第一个itemprop标签。我怎样才能得到所有三个itemprop标签。谢谢。

2 个答案:

答案 0 :(得分:1)

而不是soup.find(...)使用soup.find_all(...)

例如,如果您想要名称:

for span in soup.find_all('span',itemprop="actors"):
    print(span.string) # Prints names

或者,要在列表中保存名称:

names = [span.string for span in soup.find_all(...)]

答案 1 :(得分:0)

此外,您可以使用:

  for actor in soup.find_all(attrs={'itemprop': 'actors' }):
     print(actor.text.strip())