工具:python2.7版本+pycharm
模块:urllib、urllib2、BeautifuSoup4模块(解析器lxml、html)
课题:BeautifuSoup原理详解,项目实战应用!
目标:1、了解Beautifulsoup库
2、学会Beautifulsoup库及其参数
3、通过一个项目使用beautifulsoup4模块爬取内容
HTML文件其实就是由一组尖括号构成的标签组织起来的,每一对尖括号形式一个标签,标签之间存在上下关系,形成标签树;因此可以说BeautifulSoup库是解析、遍历、维护“标签树”的功能库。
p标签:lt;pgt;lt;/pgt;:标签Tag——一般,标签名都是成对出现的(位于起始和末尾),例如P;在第一个标签名之后可以有0到多个属性,表示标签的特点
lt;pclass=titlegt;...lt;/pgt;——中间的class属性,其值为“title”(属性是由键和值,键值对构成的)
通常,BeautifulSoup库的使用:
frombs4importBeautifulSoup#主要使用BeautifulSoup类
事实上可以认为:HTML文档和标签树,BeautifulSoup类是等价的
BeautifulSoup库解析器:
bs4的HTML解析器:BeautifulSoup(mk,html.parser)——条件:安装bs4库
lxml的HTML解析器:BeautifulSoup(mk,lxml)——pipinstalllxml
lxml的XML解析器:BeautifulSoup(mk,xml)——pipinstalllxml
html5lib的解析器:BeautifulSoup(mk,html5lib)——pipinstallhtml5lib
BeautifulSoup类的基本元素:
1、Tag——标签,最基本的信息组织单元,分别用lt;gt;和lt;/gt;表明开头和结尾
2、Name——标签的名字,lt;pgt;...lt;/pgt;的名字是p,格式:lt;taggt;.name
3、Attributes——标签的属性,字典形式组织,格式:lt;taggt;.attrs
4、NavigableString——标签内非属性字符串,lt;gt;...lt;/gt;中的字符串,格式:lt;taggt;.string
5、Comment——标签内字符串的注释部分,一种特殊的Comment类型(尖括号叹号表示注释开始:lt;!--Thisisa