BeautifulSoup类继承了Tag类,然后Tag继承了PageElement(object)类
Tag类
class Tag(PageElement)
Tag类主要是对标签的管理
实例属性
属性 | 描述 |
---|---|
.name | 返回标签名称 |
.namespace | |
.prefix | |
self.preserve_whitespace_tags | |
.attrs | 标签属性 |
.contents | 标签二进制文件 |
实例方法
方法 | 描述 |
---|---|
@def is_empty_element(self) | 是否为空 |
@def stripped_strings(self) | |
def get_text(self, separator="", strip=False,types=(NavigableString, CData)) | 获得文本 |
def decompose(self) | |
def clear(self, decompose=False) | 获取所有子标签 |
def index(self, element) | 索引 |
def get(self, key, default=None) | 获得标签 |
def has_attr(self, key) | 获得属性 |
def encode(self, encoding=DEFAULT_OUTPUT_ENCODING,indent_level=None, formatter=“minimal”,errors=“xmlcharrefreplace”) | |
def decode(self, indent_level=None,eventual_encoding=DEFAULT_OUTPUT_ENCODING,formatter=“minimal”) | |
def decode_contents(self, indent_level=None,eventual_encoding=DEFAULT_OUTPUT_ENCODING,formatter=“minimal”) | |
def encode_contents(self, indent_level=None, encoding=DEFAULT_OUTPUT_ENCODING,formatter=“minimal”) | |
def find(self, name=None, attrs={}, recursive=True, text=None,**kwargs): | |
def find_all(self, name=None, attrs={}, recursive=True, text=None,limit=None, **kwargs) | 返回的是一个列表,所以不能直接用get_text()等标签的函数 |
@def children(self) | |
@def descendants(self) | |
def childGenerator(self) | |
def recursiveChildGenerator(self) | |
def select_one(self, selector) | |
def select(self, selector, _candidate_generator=None, limit=None) |
PageElement(object)
class PageElement(object)
PageElement主要是对html文件的管理
实例方法
方法 | 描述 |
---|---|
def find_next(self, name=None, attrs={}, text=None, **kwargs) | 返回匹配的第一项并显示它后一个标签 |
def find_all_next(self, name=None, attrs={}, text=None, limit=None,**kwargs) | 同上,返回所有 |
def find_next_sibling(self, name=None, attrs={}, text=None, **kwargs) | 返回其兄弟标签,并展示下一个 |
def find_next_siblings(self, name=None, attrs={}, text=None, limit=None,**kwargs) | 同上,返回所有 |
def find_previous(self, name=None, attrs={}, text=None, **kwargs) | 与next相反操作 |
def find_all_previous(self, name=None, attrs={}, text=None, limit=None,**kwargs) | 与next相反操作 |
def find_previous_sibling(self, name=None, attrs={}, text=None, **kwargs) | 与next相反操作 |
def find_previous_siblings(self, name=None, attrs={}, text=None,limit=None, **kwargs) | 与next相反操作 |
def find_parent(self, name=None, attrs={}, **kwargs) | 获得父标签 |
def find_parents(self, name=None, attrs={}, limit=None, **kwargs) | 获得所有父标签 |
@def next(self) | 获得下一个标签 |
@def previous(self) | 获得上一个标签 |
def _find_one(self, method, name, attrs, text, **kwargs) | |
def _find_all(self, name, attrs, text, limit, generator, **kwargs) | |
这些生成器可以用于 | NavigableStrings and Tags |
@def next_elements(self) | |
@def next_siblings(self) | |
@def previous_elements(self) | |
@def previous_siblings(self) | |
@def parents(self) | |
def nextGenerator(self) | |
def nextSiblingGenerator(self) | |
def previousGenerator(self) | |
def previousSiblingGenerator(self) | |
def parentGenerator(self) |
#解析器
https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#id9
用html5lib