Buautifulsoup
-
创建指定页面对应的解析器
BeautifulSoup(需要解析的文档数据,解析器类型(一般是lxml))
-
标签选择器
解析器对象.标签名 - 解析器对象中第一个指定标签
-
获取标签名、标签属性、标签内容
-
标签名:
标签对象.name
-
标签属性
标签对象.attrs - 获取指定标签所有的属性和值对应的字典
标签对象.attrs[属性名]
-
标签内容
标签对象.string - 获取标签中文本内容(若内容是标签则返回子标签的文本内容,若文本和子标签同时存在则返回None)
标签对象.get_text() - 获取标签中的文本内容(若有子标签则只获取子标签中的文本内容)
标签对象.contents - 以列表的形式返回标签内容(列表中的元素时文本和子标签)
-
-
子节点和子孙节点
标签对象.children
标签对象.descendants
-
获取父节点和祖先节点
标签对象.parent
标签对象.parents
-
兄弟标签
标签对象.next_siblings
标签对象.previous_siblings
-
标准选择器 - 按照标签名、属性值、标签内容选中标签
根据标签名选中标签 - 解析器对象/标签对象.find_all(标签名)
根据指定属性值选中标签:解析器对象/标签对象.find_all(attrs={属性名:属性值})
根据标签内容查找内容:解析器对象/标签对象.find_all(text=内容)
-
css选择器
解析器对象/标签对象.select(css选择器)