Python网络爬虫(2)处理网页数据find和findall函数

时间:2021-04-18 22:33:23

findAll(tag, attributes, recursive, text, limit, keywords)

find(tag, attributes, recursive, text, keywords)

标签参数tag :传一个标签的名称或多个标签名称组成的 Python 列表做标签参数

属性参数attributes 是用一个 Python 字典封装一个标签的若干属性和对应的属性值

递归参数 recursive 是一个布尔变量。你想抓取 HTML 文档标签结构里多少层的信息?如果 recursive 设置为 True ,findAll 就会根据你的要求去查找标签参数的所有子标签,以及子标签的子标签。如果 recursive 设置为 False ,findAll 就只查找文档的一级标签。findAll 默认是支持递归查找的(recursive 默认值是 True );

文本参数 text 用标签的文本内容去匹配,而不是用标签的属性

这只是用来寻找文本比较常用的

  • 四种BeautifulSoup对象:
BeautifulSoup对象
BeautifulSoup.tag对象
NavigableString对象:
用来表示标签里的文字,而不是标签。
Comment对象:
用来查找HTML文档的注释标签,<!--XXX-->
  • 导航树
如果想要通过标签在文档中的位置来查找标签,则需要导航树。BeautifulSoup对象本身就是一个导航树,我们直接通过标签来访问。
除此之外,我们还可以通过children来访问一个标签的子标签,descendants来访问后代标签,parent来访问父标签,next_siblings来访问兄弟标签,previpus_sibling来访问前一个兄弟标签等。