一、将一段文档传入BeautifulSoup的构造方法,得到一个文档的对象:
from bs4 import BeautifulSoup Soup = BeautifulSoup(html_doc)
二、Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种: Tag , NavigableString , BeautifulSoup , Comment:
- Tag:和HTML原生文档中的tag相同,有很多的方法和属性。可以通过tag['属性']或tag.属性获得对应的属性值。
- NavigableString:使用Soup.string获得标签内的字符串,该字符串的类型就是NavigableString(可遍历的字符串)
- BeautifulSoup:暂时不理解这是干嘛的。
- Comment:是一个特殊类型的NavigableString对象,针对HTML文档的注释部分使用特殊的格式进行输出
三、爬虫主要使用的是CSS选择器这个功能,获取文档中需要的信息部分:
- 通过标签查找:
Title = Soup.select("title") #通过tag标签逐层查找 Title = Soup.select("html body title") #通过某个tag标签下的直接子标签查找 Title = Soup.select("head > title")
- 通过CSS类名进行查找:
Sister = Soup.select(".sister")
- 通过id进行查找:
Link = Soup.select("#link")
- 通过属性值来查找:
Href = Soup.select('a[href="http://example.com/elise"]')