【发布时间】:2013-12-24 07:40:11
【问题描述】:
使用这段 html:
<td align="left">
<a class="playerLink" href="http://bbroto.baseball.cbssports.com/players/playerpage/2000032">
Russell, Addison
</a>
SS OAK - Won at $0
<br>
<a class="playerLink" href="http://bbroto.baseball.cbssports.com/players/playerpage/556425">
Vargas, Jason
</a>
SP LAA
<span title="Angels interested in bringing back Jason Vargas">
<a class="playerLink" href="http://bbroto.baseball.cbssports.com/players/playerpage/556425" subtab="Update">
<img border="0" height="10" src="http://sports.cbsimg.net/images/news-note-recent.gif" width="10"/>
</a>
</span>
- Dropped
</br>
</td>
我只想显示没有 subtab = "Update" 的块。但我无法弄清楚如何使用 BeautifulSoup 在 Python 循环中引用子选项卡。这是我尝试过的:
soup = BeautifulSoup(html)
pl = soup.findAll('a',{'class': 'playerLink'})
for a in pl:
if a.subtab == "Update":
print "UPDATE"
else:
print "Player Name: " + a.text
我也尝试在 findAll 部分引用子类型:
pl = soup.findAll('a',{'class': 'playerLink'}, {'subtype':0})
这些方法都不起作用。我的问题是,在所有情况下,该类都是“playerLink”,因此该子类型是我可以区分它的唯一方法。我对 BS 很陌生,所以我不太擅长处理标签和属性。在第二个示例中,如果我只想要 subtype=Update 可能会起作用,但我想要每个不存在子类型的标签。
【问题讨论】:
-
'subtab' not in a.attrs
标签: python html python-2.7 web-scraping beautifulsoup