搜索文档树
搜索文档树,一般用得比较多的就是两个方法,一个是find,一个是find_all。find方
法是找到第一个满足条件的标签后就立即返回,只返回一个元素。find_all方法是把所有满足条件的标签都选到,然后返回回去。
find方法和find_all方法
find_all方法
- 在提取标签的时候,第一个参数是标签的名字。然后如果在提取标签的时候想要使用标签属性进行过滤,那么可以在这个方法中通过关键字参数的形式,将属性的名字以及对应的值传进去。或者是使用
attrs
属性,将所有的属性以及对应的值放在一个字典中传给attrs
属性。 - 有些时候,在提取标签的时候,不想提取那么多,那么可以使用
limit
参数。限制提取多少个。
语法:
find_all(name, attrs, recursive, text, **kwargs):
find方法
只返回第一个匹配到的对象
语法:
find(name, attrs, recursive, text, **wargs)
find与find_all的区别:
- find:找到第一个满足条件的标签就返回。说白了,就是只会返回一个元素。
- find_all:将所有满足条件的标签都返回。说白了,会返回很多标签(以列表的形式)。
案例网页代码
from bs4 import BeautifulSoup
html = """
<table class="tablelist" cellpadding="0" cellspacing="0">
<tbody>
<tr class="h">
<td class="l" width="374">职位名称</td>
<td>职位类别</td>
<td>人数</td>
<td>地点</td>
<td>发布时间</td>
</tr>
<tr class="even">
<td class="l square"><a target="_blank" href="position_detail.php?id=33824&keywords=python&tid=87&lid=2218">22989-金融云区块链高级研发工程师(深圳)</a></td>
<td>技术类</td>
<td>1</td>
<td>深圳</td>
<td>2017-11-25</td