BeautifulSoup库(基于内容查找部分)
#导入库
from bs4 import BeautifulSoup
1.打开一个文件并初始化soup(练习准备)
with open('test.html','r',encoding='utf-8') as test:
soup = BeautifulSoup(test)
注意:如果读文件报错, UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 34: illegal mu…有两种可能
(1) 编码设置
在第一行加上
coding:utf-8
(2) 后面处理数据时没有转码
with open("data.txt",'r',encoding='UTF-8') as data:
2. find()和find_all()
find(name,attrs,recursive,text,**wargs)
这些参数相当于过滤器一样可以进行筛选处理。不同的参数过滤可以应用到以下情况
- 基于name参数,查找标签
- 基于text参数,查找文本
- recursive递归的,循环的(即是否对子孙全部检索,默认True)
- 基于正则表达式的查找
- 基于attrs参数,查找标签的属性
- 基于函数的查找
通过标签查找
可以传递任何标签名的名字来查找它第一次出现的地方,找到后,find函数返回一个BeautifulSoup的对象
# 查找最顶层的标签
soup.find('html')
<html>
<head>
<title>一个金字塔</title>
<meta charset="utf-8"/>
</head>
<body>
<a href="#">这是一个链接</a>
<p>这是一些段落</p>
<p>第二个段落</p>
<p>第三个段落</p>
</body>
</html>
# 查找body
soup.find