作者:IT小样
上一篇简单的举例了BeautifulSoup的初级使用,本篇详细介绍BeautifulSoup的原理以及详细用法。
BeautifulSoup 原理
1、获取文档对象
获得BeautifulSoup对象,通过对BeautifulSoup()传入字符串或文件句柄。示例:
soup = BeautifulSoup(open(index.html))
soup = BeautifulSoup("hello")
首先文档被转换成Unicode编码,其次再用解析器对其进行解析。
2、解析文档
HTML是有层次的语言:<html><head><title>…</title></head><body>…</body></html>.因此BeautifulSoup在对其解析时,将其解析为树形结构。每个节点都是python对象,一共存在四种对象类型:Tag,NavigableString,BeautifulSoup,Comment。
2.1、Tag对象
tag与原文档中定义相同;如在文档:<p class=‘tester’>hello Tester</p>中,tag为p。接下来介绍一下Tag的两大属性:name和attributes。