BeautifuSoup的作用是爬取网页时可以用来解析html页面,获取想要的信息
下载方式
pip install bs4 (4代表版本,下哪个版本根据python的版本来)
如何使用
<table class="tablelist" cellspacing="0" cellpadding="0">
<tbody>
<tr class="h">
<td class="1" width="374">职位名称</td>
<td>职位类别</td>
<td>人数</td>
<td>地点</td>
<td>发布时间</td>
</tr>
<tr class="even">
<td class="l"><a href="https://www.baidu.com">区块链高级研发工程师</a></td>
<td class="l">技术类</td>
<td class="l">1</td>
<td class="l">深圳</td>
<td class="l">2018-11-25</td>
</tr>
<tr class="even">
<td><a href="https://www.qq.com">金融云高级后台开发</a></td>
<td>技术类</td>
<td>2</td>
<td>深圳</td>
<td>2018-11-24</td>
</tr>
<tr>
<td><a href="https://www.juran.com">高级研发工程师</a></td>
<td>技术类</td>
<td>2</td>
<td>深圳</td>
<td>2018-11-24</td>
</tr>
<tr>
<td><a href="https://www.python.com">高级图像算法工程师</a></td>
<td>技术类</td>
<td>2</td>
<td>深圳</td>
<td>2018-11-24</td>
</tr>
<tr>
<td><a href="https://www.lg.com" id="test" class="test">高级业务运维工程师</a></td>
<td>技术类</td>
<td>2</td>
<td>深圳</td>
<td>2018-11-24</td>
</tr>
</tbody>
</table>
一、创建Beautiful Soup对象
``` beautiful_soup = BeautifulSoup(从网页爬取下来的需要解析的html代码, 解析方式) ```
其中解析方式有"lxml","lxml-xml", "html.parser", "html5lib"
二、查询需要的节点信息
tr_tup = beautifulsoup.find('tr',attrs={})
tr是要查找的节点,attrs是字典类型,里面是要查找节点的属性,返回的参数是一个list
注:find和findall区别是一个是只查找一个匹配节点,另一个是查找所有匹配节点
三、遍历节点
for tr in trs:
# print(tr)
# tds = tr.find_all('td')
# print(tds)
# title = tds[0]
# print(title.string)
# 获取tr标签的所有文本
# infos = list(tr.strings)
# print(infos)
# 可以去除空格取纯文本
# infos = list(tr.stripped_strings)
# print(infos[0])
其中list(tr.stripped_string)可以获取节点里所有的text内容并返回一个list