我正在使用BeautifulSoup做一些屏幕抓取。我的问题是这样的: 我需要从段落中提取特定的东西。举个例子:如何使用BeautifulSoup从HTML段落中提取?
<p><b><a href="/name/abe">ABE</a></b> <font class="masc">m</font> <font class="info"><a href="/nmc/eng.php" class="usg">English</a>, <a href="/nmc/jew.php" class="usg">Hebrew</a></font><br />Short form of <a href="/name/abraham" class="nl">ABRAHAM</a>
出这一款,我能提取名ABE如下:
for pFound in soup.findAll('p'):
print pFound
#will get the names
x = pFound.find('a').renderContents()
print x
现在我的问题是提取其他的名称,以及在同款。
Short form of <a href="/name/abraham" class="nl">ABRAHAM</a>
我需要提取这仅在标签由文字“短形式的”
如何做到这一点任何想法之前? HTML页面中有很多这样的段落,并不是所有的都有文字“短格式”他们可能在那个地方包含一些其他文字。
我认为正则表达式和findNext()的组合可能会有用,但我对BeautifulSoup并不熟悉。浪费了很多时间。
任何帮助,将不胜感激。 谢谢。
谢谢亚历克斯,与一些修改工作。 – 2010-07-04 19:59:41
@kartiku,不客气,很高兴听到这个! – 2010-07-04 20:03:42