天天看点

python爬虫之BeautifulSoup入门

先看一段BeautifulSoup的官方介绍:

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。

使用BeautifulSoup解析这段代码,能够得到一个 BeautifulSoup 的对象,

from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'lxml')
           

这个soup就是BeautifulSoup对象。

四种解析器

Python标准库 : 

BeautifulSoup(markup, "html.parser")
           

lxmlHTML解析器 :

BeautifulSoup(markup, "lxml")
           

lxmlXML解析器 :  

BeautifulSoup(markup, ["lxml-xml"])/BeautifulSoup(markup, "xml")
           

html5lib : 

BeautifulSoup(markup, "html5lib")
           

推荐使用lxml作为解析器,因为效率更高. 

对象的种类

Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,

所有对象可以归纳为4种: Tag , NavigableString , BeautifulSoup , Comment .