首页 > 代码库 > python BeautifulSoup find 方法
python BeautifulSoup find 方法
这里我们重点讲一下find的几种用法,其他的类比:
find(name=None, attrs={}, recursive=True, text=None, **kwargs)
(ps:只讲几种用法,完整请看官方link : http://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.html#The%20basic%20find%20method:%20findAll%28name,%20attrs,%20recursive,%20text,%20limit,%20**kwargs%29)
1) 搜索tag:
1 find(tagname) # 直接搜索名为tagname的tag 如:find(‘head‘)2 find(list) # 搜索在list中的tag,如: find([‘head‘, ‘body‘])3 find(dict) # 搜索在dict中的tag,如:find({‘head‘:True, ‘body‘:True})4 find(re.compile(‘‘)) # 搜索符合正则的tag, 如:find(re.compile(‘^p‘)) 搜索以p开头的tag5 find(lambda) # 搜索函数返回结果为true的tag, 如:find(lambda name: if len(name) == 1) 搜索长度为1的tag6 find(True) # 搜索所有tag
2) 搜索属性(attrs):
1 find(id=‘xxx‘) # 寻找id属性为xxx的2 find(attrs={id=re.compile(‘xxx‘), algin=‘xxx‘}) # 寻找id属性符合正则且algin属性为xxx的3 find(attrs={id=True, algin=None}) # 寻找有id属性但是没有algin属性的
3) 搜索文字(text):
注意,文字的搜索会导致其他搜索给的值如:tag, attrs都失效。
方法与搜索tag一致
4) recursive, limit:
recursive=False表示只搜索直接儿子,否则搜索整个子树,默认为True。
当使用findAll或者类似返回list的方法时,limit属性用于限制返回的数量,如findAll(‘p‘, limit=2): 返回首先找到的两个tag
python BeautifulSoup find 方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。