作者:哈喽KIKI1990_117 | 来源:互联网 | 2017-05-14 02:44
1) 搜索tag:
find(tagname) # 直接搜索名为tagname的tag 如:find('head')
find(list) # 搜索在list中的tag,如: find(['head', 'body'])
find(dict) # 搜索在dict中的tag,如:find({'head':True, 'body':True})
find(re.compile('')) # 搜索符合正则的tag, 如:find(re.compile('^p')) 搜索以p开头的tag
find(lambda) # 搜索函数返回结果为true的tag, 如:find(lambda name: if len(name) == 1) 搜索长度为1的tag
find(True) # 搜索所有tag
2) 搜索文字(text)
3) recursive, limit:
from bs4 import BeautifulSoup
import re
doc = ['',
'This is paragraph one.',
'
This is paragraph two.',
'']
soup = BeautifulSoup(''.join(doc))
print soup.prettify()+"\n"
print soup.findAll('b')
print soup.findAll(text=re.compile("paragraph"))
print soup.findAll(text=True)
print soup.findAll(text=lambda(x):len(x)<12)
a = soup.findAll(re.compile(&#39;^b&#39;))
print [tag.name for tag in a]
print [tag.name for tag in soup.html.findAll()]
print [tag.name for tag in soup.html.findAll(recursive=False)]
print soup.findAll(&#39;p&#39;,limit=1)
以上就是详解用python的BeautifulSoup分析html方法的详细内容,更多请关注 第一PHP社区 其它相关文章!