BeautifulSoup用法详解

安装bs4

pip install bs4

BeautifulSoup

  1. 灵活又方便的网页解析库,处理高效,支持多种解析器。
  2. 利用它不用编写正则表达式即可方便地实现网页信息的提取。

BeautifulSoup解析库

解析器 使用方法 优势 劣势
Python标准库 BeautifulSoup(markup,"html.parser") Python的内置标准库、执行速度适中、文档容错能力强 Python2.7.3 or 3.2.2 前的版本中文容错能力差
lxml HTML 解析器 BeautifulSoup(markup,"lxml") 速度快、文档容错能力强 需要安装C语言库
lxml XML 解析器 BeautifulSoup(markup,"xml") 速度快、唯一支持XML的解析器需 要安装C语言库
html5lib BeautifulSoup(markup,"html5lib") 最好的容错性、以浏览器的方式解析文档、生成HTML5格式的文档 速度慢、不依赖外部扩展

打印页面信息

常用的三种选择器(标签选择器、标准选择器、CSS选择器)

1、标签选择器








2、标准选择器

  • 标准选择器是指:find_allfind

    • 都可根据标签名、属性、内容查找文档
  • find_all(name, attrs, recursive, text, **kwargs),返回查找到的所有结果

  • find(name, attrs, recursive, text, **kwargs),返回查找到第一个结果










其他不常用的方法

方法 解释
find_parents()
find_parent()
find_parents()返回所有祖先节点,find_parent0返回直接父节点
find_next_siblings()
find_next_sibling()
find_next_siblings()返回后面所有兄弟节点,find_next_sibling()返回后面第一个兄弟节点。
find_previous_siblings()
find_previous_sibling()
find_previous_siblings()返回前面所有兄弟节点, find_previous_sibling()返回前面第一个兄弟节点。
find_all_next()
find_next()
find_all_next()返回节点后所有符合条件的节点, find_next()返回第一个符合条件的节点
find_all_previous()
find_previous()
find_all_previous0返回节点后所有符合条件的节点, find_previous()返回第一个符合条件的节点

3、CSS选择器

  1. 通过 select() 方法直接传入对应的标签、属性名即可完成选择,返回的结果是列表类型













posted @ 2021-05-15 14:49  廿九九  阅读(694)  评论(0)    收藏  举报