Python数据分析——Beautiful Soup
目录
Beautiful Soup介绍
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库
Beautiful Soup安装
#安装Beautiful Soup 4
pip install bs4
#安装 Ixml
pip install kxml
BeautifulSoup对象介绍与创建
BeautifulSoup对象:代表要解析整个文档树,它支持遍历文档树和搜索文档树中描述的大部分的方法.
创建BeautifulSoup对象
# 1 导入模块
from bs4 import BeautifulSoup
#2 创建BeautifulSoup对象
soup=BeautifulSoup('<html>date</html>','lxml')
print(soup)
BeautifulSoup对象的find方法
find方法的作用:搜索文档树
- find(self,name=None,attrs=(, recursive=True,text=None,**kwargs
参数
- name:标签名
- attrs:属性字典
- recursive:是否递归循环查找
- text:根据文本内容查找
返回
- 查找到的第一个元素对象
案例演示
#1.导入模块
from bs4 import BeautifulSoup
# 2.准备文档字符串
html='''<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>博客</title>
</head>
<body>
<h1>论 数 学 的 重 要 性</h1>
<i>2019.10.30</i>
<hr >
<a id="link1">你好</a>
<p>今天我打电话叫了一个12寸的外卖披萨</p>
<p>服务员告诉我</p>
<p>12寸的没有了,给我换两个六寸的行不行</p>
<p>我想了想说:可以</p>
<p>这个故事告诉我们一个道理,<br><b>数学是多么的重要</b></p>
</body>
</html>'''
# 3.创建BeautifulSoup对象
soup=BeautifulSoup(html,'lxml')
# 4.查找title标签
title=soup.find('title')
print(title)
# 5.查找a标签
a=soup.find('a')
print(a)
# 6.查找所有p标签
p=soup.find_all('p')
print(p)
# 二. 根据属性进行查找
# 查找id为link1的标签
# 方式一:通过命名参数进行制定
a=soup.find(id='link')
print(a)
# 方式二:attrs来制定属性字典,进行查找
a=soup.find(attrs={'id':'link1'})
print(a)
# 三. 根据文本内容进行查找
text=soup.find(text="博客")
print(text)
# Tag对象
print(type(a))
print('标签名',a.name)
print('标签所有属性',a.attrs)
print('标签文本内容',a.text)