bs4是python的一个第三方库,用来做数据解析的
目录
1 安装bs4
2 解析本地的html文件
3 解析网上的html
4 找到指定的标签
4.1 获取页面中第一个指定标签的内容
4.2 查找页面中的第一个符合要求的内容 BeautifulSoup.find()
4.2.1 标签
4.2.2 类名
4.2.3 多个条件
4.2.4 id
4.2.5 自定义属性
4.3 查找页面所有符合条件的内容 BeautifulSoup.find_all()
4.4 查找符合选择器的所有内容 BeatuifulSoup.select()
5 获取指定标签的文本内容 text string get_text()
6 获取属性
1 安装bs4
顺便把lxml下来了,可以与bs4配合使用
2 解析本地的html文件
我们先搞一个html文件
然后用代码解析
可以获取该网页的内容
3 解析网上的html
请求之后就不用存网页了,直接把内容给BeautifulSoup()就行了
4 找到指定的标签
4.1 获取页面中第一个指定标签的内容
比如我想获取这里的div
那你就使用soup.div
可以得到div的结果
如果有多个div,只会返回第一个div
4.2 查找页面中的第一个符合要求的内容 BeautifulSoup.find()
4.2.1 标签
使用soup.find('div'),与soup.div效果相同
4.2.2 类名
4.2.3 多个条件
比如我想筛选出 span标签与类名something
4.2.4 id
id是唯一的,一个页面不会有两个相同id的标签
4.2.5 自定义属性
4.3 查找页面所有符合条件的内容 BeautifulSoup.find_all()
与find()的用法相同
4.4 查找符合选择器的所有内容 BeatuifulSoup.select()
选择器可以看一下 CSS3笔记中的基础选择器 2.基础选择器_基础选择器包括_Suyuoa的博客-CSDN博客 与复合选择器 7.复合选择器_Suyuoa的博客-CSDN博客
我们简单做个例子
5 获取指定标签的文本内容 text string get_text()
比如我想找 第一个类名为something标签的文本内容
可以使用 text string get_text() 这三个方式功能相似
text与get_text()可以获取标签中的所有文本内容,string只能获取标签的直系文本内容(如果在子节点不仅仅包含文本内容就会返回None)
6 获取属性
比如我想获取这里的something属性
找到元素之后直接从索引里拿就行了