http://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.html#contents
简单的用法:
find(name, attrs, recursive, text, **kwargs)
好了,我们现在看看其他的搜索方法。他们都是有和 findAll
几乎一样的参数。
find
方法是最接近findAll
的函数, 只是它并不会获得所有的匹配对象,它仅仅返回找到第一个可匹配对象。 也就是说,它相当于limit
参数为1的结果集。 以上面的 文档为例:
soup.findAll('p', limit=1)
#[<p id="firstpara" align="center">This is paragraph <b>one</b>.</p>] soup.find('p', limit=1)
#<p id="firstpara" align="center">This is paragraph <b>one</b>.</p> soup.find('nosuchtag', limit=1) == None
#True
通常,当你看到一个搜索方法的名字由复数构成 (如
findAll
和findNextSiblings
)时, 这个方法就会存在limit
参数,并返回一个list的结果。但你 看到的方法不是复数形式(如find
和findNextSibling
)时, 你就可以知道这函数没有limit参数且返回值是单一的结果。这里面常用的有 find('div', {'class':'nums'}) 这种找法,要直接获得内容在找到的词条用 .text() 即可获得内容