1. 安装BeautifulSoup
BeautifulSoup安装命令:conda install -c anaconda beautifulsoup4
2. 如何使用BeatifulSoup库
from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>data</p>','html.parser')
3. 对BeautifulSoul库的理解
HTML文件.png-
BeautifulSoup库
是解析、遍历、维护“标签书”的功能库(只要你提供的文件是标签类型,BeautifulSoup库
都可以提供很好的解析)
4.常见标签的格式(P标签为例)
P标签样式:<p class="title">...</p>
P标签的属性是用来定义标签的特点的,同时是一个键值对
5. html文件
&标签树
&BeautifulSoup类
的关系
这三者是等价关系的,对BeautifulSoup类
的相关处理就是对标签树
的处理
from bs4 import BeautifulSoup
soup = BeautifulSoup("<html>data</html>","html.parser")
soup2= BeautifulSoup(open("D://demo.html","html.parser"))
简单讲我们可以将BeautifulSoup当作对应一个HTML/XML
文档的全部内容。
6.BeautifulSoup库解析器
解析器 | 使用方法 | 安装bs4 库 |
---|---|---|
bs4 的HTML 解析器 |
BeautifulSoup(mk,'html.parser') |
安装bs4 库 |
lxml 的 HTML 解析器 |
BeautifulSoup(mk,'lxml') |
pip install lxml |
lxml 的XML 解析器 |
BeautifulSoup(mk,'xml') |
pip install lxml |
html5lib 的解析器 |
BeautifulSoup(mk,'html5lib) |
pip install html5lib |
7.BeautifulSoul类的基本元素
基本元素 | 说明 |
---|---|
Tag |
标签,最基本的信息组织元素,分别用<> 和</> 标明开头和结尾 |
Name |
标签的名字,<p>...</p> 的名字是'p' ,格式:<tag>.name
|
Attributes |
标签的属性,字典形式组织,格式:<tag>.attrs
|
NavigableString |
标签内非属性字符串,<>...</> 中字符串,格式:<tag>.string
|
Comment |
标签内字符串的注释部分,一种特殊的Comment 类型 |
8. BeautifulSoup类获得tag标签的方法
import requests
r = requests.get("https://python123.io/ws/demo.html")
demo = r.text
form bs4 import BeautifulSoup
soup = BeautifulSoup(demo, "html.parser")#这个时候soup变量代表解析后的`Demo`页面
print(soup.title) #页面在浏览器上方显示信息位置的地方
print(soup.a) #链接标签的内容
9. 获取标签名字的方法
import requests
r = requests.get("https://python123.io/ws/demo.html")
demo = r.text
form bs4 import BeautifulSoup
soup = BeautifulSoup(demo, "html.parser")
print(soup.a.name) #a标签的内容
print(soup.a.parent.name) #a标签的父亲的内容
print(soup.a.parent.parent.name) #a标签父亲的父亲的内容
10. 获取标签属性 的方法
r = requests.get("https://python123.io/ws/demo.html")
demo = r.text
form bs4 import BeautifulSoup
soup = BeautifulSoup(demo, "html.parser")
print(soup.a.attrs) #由此可以看出a标签是一个字典类型
soup.a.attrs['class'] #获取a标签class属性的值
soup.a.attrs['href'] #获取a标签的连接属性
网友评论