Python爬虫之Beautiful Soup库用法总结

       

目录

1.安装Beautiful Soup库

2.解析html

3.搜索和遍历html文档

4.提取和修改HTML元素


         Beautiful Soup是Python中一款强大的HTML解析库,用于从HTML文档中提取数据,提供了简单的方法来遍历、搜索和修改HTML文档,是爬虫和数据抓取任务中常用的工具。本文将介绍Beautiful Soup库的基本用法,包括如何安装、解析HTML、搜索和遍历HTML文档以及如何提取和修改HTML元素的内容,记录一下用来方便以后的学习。

 

 

1.安装Beautiful Soup库

Beautiful Soup是Python的第三方库,可以使用pip命令进行安装。在终端或命令行中输入以下命令:

pip install beautifulsoup4

2.解析html

要使用Beautiful Soup解析HTML文档,首先需要导入库并创建一个BeautifulSoup对象。可以通过将HTML文档传递给BeautifulSoup类的构造函数来创建一个BeautifulSoup对象,例如:

from bs4 import BeautifulSoup

# HTML文档

html_doc = "<html><head><title>示例网页</title></head><body><p class='example'>这是一个示例段落。</p></body></html>"

# 创建BeautifulSoup对象

soup = BeautifulSoup(html_doc, 'html.parser')

在这个例子中,使用了html.parser作为解析器,这是Beautiful Soup默认的解析器。还可以使用其他解析器,如lxml或html5lib,具体取决于需求和项目设置。

3.搜索和遍历html文档

Beautiful Soup提供了多种搜索和遍历HTML文档的方法,使您能够方便地定位和提取所需的数据。以下是一些常用的方法:

  • 标签名搜索:使用tag属性来搜索指定标签名的元素。
# 搜索第一个<p>标签

p_tag = soup.pprint(p_tag)
  • 类型搜索:使用class_属性来搜索指定类名的元素。
# 搜索class为'example'的<p>标签

example_class = soup.find('p', class_='example')print(example_class)
  • 子节点搜索:使用contents、children和descendants属性来搜索元素的子节点。
# 获取<body>标签的子节点列表

body_children = soup.body.contentsprint(body_children)
  • 父节点和兄弟节点搜索:使用parent、next_sibling和previous_sibling属性来搜索元素的父节点和兄弟节点。
# 获取<p>标签的父节点和兄弟节点

p_parent = p_tag.parent

p_next_sibling = p_tag.next_siblingprint(p_parent)print(p_next_sibling)

4.提取和修改HTML元素

Beautiful Soup还提供了一些方法来提取和修改HTML元素的内容,如下所示:

  • 获取标签的文本内容:使用.string属性来获取标签的文本内容。
# 获取<p>标签的文本内容

p_text = p_tag.stringprint(p_text)
  • 获取标签的属性值:使用attrs属性来获取标签的属性值。
# 获取<p>标签的class属性值

p_class = p_tag.attrs['class']print(p_class)
  • 修改标签的内容和属性:可以通过对tag属性进行赋值来修改标签的内容和属性。
# 修改<p>标签的文本内容和class属性值

p_tag.string = "这是修改后的文本内容"

p_tag['class'] = 'modified-example'print(p_tag)

结语:

        本文介绍了Beautiful Soup库的基本用法,包括安装、解析HTML、搜索和遍历HTML文档以及提取和修改HTML元素的内容。

猜你喜欢

转载自blog.csdn.net/qq_56864896/article/details/130072008