|
|
发表于 2018-5-21 16:06:29
|
显示全部楼层
直接传字符:
最简单的过滤器是字符串.在搜索方法中传入一个字符串参数,Beautiful Soup会查找与字符串完整匹配的内容,下面的例子用于查找文档中所有的<b>标签
传正则表达式:
如果传入正则表达式作为参数,Beautiful Soup会通过正则表达式的 match() 来匹配内容.下面例子中找出所有以b开头的标签,这表示<body>和<b>标签都应该被找到
- import re
- for tag in soup.find_all(re.compile("^b")):
- print(tag.name)
- # body
- # b
复制代码
3.传入一个列表.
返回以这个列表元素为标签的内容
C.传列表
如果传入列表参数,Beautiful Soup会将与列表中任一元素匹配的内容返回.下面代码找到文档中所有<a>标签和<b>标签
- soup.find_all(["a", "b"])
- # [<b>The Dormouse's story</b>,
- # <a class="sister" id="link1">Elsie</a>,
- # <a class="sister" id="link2">Lacie</a>,
- # <a class="sister" id="link3">Tillie</a>]
- 1
- 2
- 3
- 4
- 5
- soup.find_all(["a", "b"])
- # [<b>The Dormouse's story</b>,
- # <a class="sister" id="link1">Elsie</a>,
- # <a class="sister" id="link2">Lacie</a>,
- # <a class="sister" id="link3">Tillie</a>]
复制代码 |
|