爬虫-beautifulsoup-bs库

import bs4 from BeautifulSoup

beautifulsoup库常用函数:

  • 首先:bs=BeautifulSoup(html, "html.parser")到解析过后的html   #html是已经获取的文本格式的html,html.parser是bs解析器,可以自行选择;
    • beautifulsoup将html文档转换成一个树形结构,每个节点都是Python对象,所有的对象可以归纳为4种:
      • Tag:通俗的讲就是一个个标签,
      • NavigableString:标签内部的文字
      • BeautifulSoup:也就是整个html文档形成的结构树
      • Comment:注释,会把注释符号给去掉
  • 常用函数
    • bs选择器:
      • bs.select("xxx"):得到所有xxx标签
      • bs.select(".xxx"):通过类名查找
      • bs.select("#xxx"):通过id查找
      • bs.select("xxx > yyy"):xxx的子标签yyy
      • bs.select(".xxx ~ .yyy")    #xxx标签的兄弟标签
      • ......
    • Tag:
      • bs.find_all('xxx'):找到所有的<xxx>标签里的内容(包括标签)
      • bs.find("xxx"):只返回第一个<xxx> == bs.'标签名'
      • 某TAG.name:返回这个标签的名字
      • 某TAG.attrs:返回此标签所有的属性,是一个字典类型
    • NavigableString:
      • TAG.string就可以取到标签内部的文字
    • BeautifulSoup:就是整个html
    • Comment:注释,会去掉注释符号
      • 有时标签内的文字其实是注释,使用.string方法时会得到已经去掉了注释符号的注释,这时就需要去判断是不是注释,再进行判断
    • 格式整理
      • .strip()、.lstrip()、.rstrip():去掉空格
      • .replace('aaa', 'bbb'):用bbb替换掉aaa
    • 其他
      • 直接子节点
        • .contents:将子节点的属性以列表输出
          • 可以使用.contents[index]进行输出,但是并不是一个标签对应一位索引
        • .children:返回一个list生成器对象,直接遍历就可以得到里面的内容

猜你喜欢

转载自blog.csdn.net/Jinandawang/article/details/112898358
今日推荐