当前位置:   article > 正文

BeautifulSoup4的使用_beautifulsoup4 java

beautifulsoup4 java

一、介绍

Beautiful Soup 主要是用来解析提取 HTML 和 XML 文件中的数据。

现在官网推荐使用 Beautiful Soup 4 ,已经被移植到了BS4中。

安装 Beautiful Soup:pip instal beautifulsoup4

使用格式:

实例化 Beautifulsoup 传入被 解析的 HTML 文档内容和解析器,得到一个对象。

  1. from bs4 import Beautifulsoup
  2. soup = Beautifulsoup(html_doc, 'html.parser')
  3. # 参数:
  4. -html_doc:被解析的html文档内容
  5. -html.parser:解析器

解析器:

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

二、遍历文档树

遍历文档树就是直接通过标签名字选择,特点是选择速度快,但如果存在多个相同的标签则只能返回第一个。

用法:

  1. from bs4 import Beautifulsoup
  2. soup = Beautifulsoup(html_doc, 'html.parser')
  3. 对象 = soup.body.a # 查找最开始第一个body标签下的第一个a标签
  4. 对象.name # 获取标签的名字
  5. 对象.attrs # 获取标签的所有属性
  6. 对象.get(属性名) # 获取标签指定属性
  7. 对象.text # 获取标签的文本内容(子子孙孙都拼接在一起的)
  8. 对象.get_text() # 和上面一样
  9. 对象.string # 当前标签下有文本才取出来,否则全是None
  10. 对象.strings # 子子孙孙的内容都放大生成器中

三、搜索文档树

搜索文档树是通过主要的两个方法 find() 和 find_all() 去文档中查找指定标签。

五种过滤器

1、字符串:

  1. from bs4 import Beautifulsoup
  2. soup = Beautifulsoup(html_doc, 'html.parser')
  3. soup.find_all('a') # 查找所有的a标签

2、正则表达式

  1. import re
  2. soup.find_all(re.compile('^b')) # 查找出所有以b开头的标签

3、列表

soup.find_all(['a', 'b'])	# 找到所有的a标签和b标签

4、True/False

soup.find_all(name=True)		# 匹配有name属性的标签

5、方法

如果没有合适的过滤器,就可以定义一个方法只接收一个元素参数,返回 True 表示匹配到并找到,否则 False

  1. # 查找有类属性,没有id属性的标签
  2. def fun(tag):
  3. return tag.has_attr('class') and not tag.has_attr('id')
  4. soup.find_all(fun)

CSS选择器

使用方法和CSS选择器一样,用css选python教程择器的格式去找标签

格式:

  1. soup.select('css选择器') # 返回列表
  2. '''
  3. #id
  4. .class
  5. #id a ——>匹配对应id下的所有a标签(子子孙孙)
  6. #id>a ——>匹配对应id下的直接子节点,子标签
  7. '''

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/140368
推荐阅读
相关标签
  

闽ICP备14008679号