Open KeepInLove1006 opened 5 years ago
Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。
dos窗口命令安装
pip和pip3的区别:
1、使用pip install :新安装的库会放在这个目录下面 python2.7/site-packages
2、使用pip3 install:新安装的库会放在这个目录下面:python3.6/site-packages
pip install beautifulsoup4 pip3 install beautifulsoup4
1、首先我们需要先导入BS4库
from bs4 import BeautifulSoup
2、定义html内容
html = """ <html><head><title>百度一下</title></head> <body> <p class="title"><b>baidu</b></p> <p class="story">aaaaaaaaaaaaa bbbbbbbbbbbbb ccccccccccccccccc <a href="http://z.baidu.com" id="link1">Z站</a>, <a href="http://www.baidu.com" id="link2">百度官网</a> </p> <p class="story">...</p> """
3、创建 beautifulsoup 对象
soup = BeautifulSoup(html) # 若html内容存在文件a.html中,那么可以这么创建BeautifulSoup对象 soup = BeautifulSoup(open(a.html))
4、格式化输出
print(soup.prettify())
结果:
5、Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构
每个节点都是Python对象,所有对象可以归纳为4种:
1)Tags
Tags是 HTML 中的一个个标签
#获取tags print(soup.title) print(soup.head) print(soup.a) print(soup.p)
<title>百度一下</title> <head><title>百度一下</title></head> <a href="http://z.baidu.com" id="link1">Z站</a> <p class="title"><b>baidu</b></p>
对于Tags,还有2个属性,name跟attrs
print(soup.a.name) print(soup.a.attrs)
a {'href': 'http://z.baidu.com', 'id': 'link1'}
从上面的输出结果我们可以看到标签<a>的attrs属性输出结果是一个字典,我们要想获取字典中的具体的值可以这样
<a>
p = soup.a.attrs print(p['class'])
因写的html里没相应的字典类型,所有无结果
2)NavigableString
#获取标签内部的文字(NavigableString) print(soup.a.string)
结果:Z站
3)BeautifulSoup
soup本身也是有这两个属性的,只是比较特殊而已
#查看BeautifulSoup的属性 print(soup.name) print(soup.attrs)
[document] {}
4)Comment
提取被注释的内容
#获取标签内部的文字 print(soup.a.string) print(type(soup.a.string))
因写的html里没相应的注释,所有无结果
eautiful Soup库的使用
Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。
一、安装 Beautiful Soup
dos窗口命令安装
pip和pip3的区别:
1、使用pip install :新安装的库会放在这个目录下面 python2.7/site-packages
2、使用pip3 install:新安装的库会放在这个目录下面:python3.6/site-packages
二、Beautiful Soup的使用
1、首先我们需要先导入BS4库
2、定义html内容
3、创建 beautifulsoup 对象
4、格式化输出
结果:
5、Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构
每个节点都是Python对象,所有对象可以归纳为4种:
1)Tags
Tags是 HTML 中的一个个标签
结果:
对于Tags,还有2个属性,name跟attrs
结果:
从上面的输出结果我们可以看到标签
<a>
的attrs属性输出结果是一个字典,我们要想获取字典中的具体的值可以这样因写的html里没相应的字典类型,所有无结果
2)NavigableString
结果:Z站
3)BeautifulSoup
soup本身也是有这两个属性的,只是比较特殊而已
结果:
4)Comment
提取被注释的内容
因写的html里没相应的注释,所有无结果