BeautifulSoup库支持多种文档解析器,用户可以实现文档导航,查找元素,修改内容。
BeautifulSoup与lxml相比之下显得更易用
BeautifulSoup需要单独安装:
pip install beautifulsoup4
一、创建BeautifulSoup对象
使用BeautifulSoup解析文档,首先需要创建BeautifulSoup对象并指定解析器。
#首页要引用
import requests
from bs4 import BeautifulSoup
(1)直接打开html文档
soup1 = BeautifulSoup(open("***.html", encoding='UTF-8'), 'lxml')
print(soup1.contents)
(2)直接处理html片段
soup2 = BeautifulSoup("<html>***</html>","lxml")
print(soup2.contents)
(3)解析爬虫抓取的网页
url = "https://www.baidu.com/"
r = requests.get(url)
soup3 = BeautifulSoup(r.text, 'lxml')
print(soup3.contents)
二、对象
在BeautifulSoup中,文档每一层级节点都被当作对象。分为以下:
(1)Tag:与文档中的tag相同,通过元素名可以直接获取对对应内容
soup = BeautifulSoup('<div class="test1">****</div>', "lxml")
tag = soup.div
print(tag)
1.每一个标签对象都包含name属性,且可以修改。
print(tag.name) #div
tag.name='p'
print(tag) #<p class="test1">****</p>
2.当一个tag对象有一到多个属性时,tag属性是一个字典。可以使用tag[属性名]直接获取对应属性值
print(tag['class']) #['test1']
# 直接获取属性,返回一个字典
print(tag.attrs) #{'class':['test1']}