一、BeautifulSoup库简介
BeautifulSoup是一个灵活方便的网页解析库,处理搞笑,支持多种解析器。利用它可以不用编写正则表达式就可以方便的实现网页信息的抓取。
BeautifulSoup是爬虫必学技能,其最主要的功能是从网页抓取数据。BeautifulSoup自动的将输入文档转换为Unicode编码,输出文档转换为utf-8编码。BeautifulSoup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果不安装它,那么会使用Python默认的解析器。lxml解析器更加强大,速度更快,推荐使用xlml解析器。
二、解析库
三、BeautifulSoup4四大对象种类
BeautifulSoup4将复杂的HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种:
1、Tag
利用"bs.标签"可获取这些标签的内容(查找的是所有内容种第一个符合要求的标签),这些对象的类型是"bs4.element.Tag"。对于Tag对象,有两个重要的属性:name、attrs
2、NavigableString
得到标签的内容后,利用"bs.标签.string"获取标签内部的文字
3、BeautifulSoup
BeautifulSoup对象表示一个文档的内容。可以看作是特殊的Tag,可以分别获取它的类型,名称,属性。
4、Comment
Comment对象是一个特殊类型的NavigableString对象,其输出的内容不包括注释符号。
四、基本用法
1、下载安装:pip install BeautifulSoup4
2、基本用法
2.1【基本用法:提取html中的信息】
(1)导入:from bs4 import BeautifulSoup
(2)将html传入解析器
方式一:
bs = BeautifulSoup(html, 'html.parser')
方式二:
import requests
r=requests.get("http://xxx")
bs=BeautifulSoup(r.text, 'html.parser')
注1:括号里的r.text表示被解析的html格式的内容;'html.parser'表示解析用的解析器,相应的还有其他'lxml'、'xml'、'html5lib'等解析器
注2:print(r.text)查看一下输出内容