python中BeautifulSoup库使用小结

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: python中BeautifulSoup库使用小结

转载请注明出处:

  BeautifulSoup是一个用于解析HTML和XML文档的Python库,它提供了一些简单但强大的API,让你可以从文档中提取数据。以下是一些BeautifulSoup的主要特性和功能:

  • 解析HTML和XML文档:BeautifulSoup可以解析HTML和XML文档,并创建一个BeautifulSoup对象,这个对象表示整个文档。可以使用这个对象来搜索和修改文档的元素。
  • 导航文档树:BeautifulSoup提供了一些方法,让你可以在文档树中导航。例如,可以使用find方法来搜索文档树中的元素,使用find_all方法来搜索所有匹配的元素,使用parentchildrendescendants等属性来访问元素的父元素,子元素和后代元素。
  • 搜索文档树:BeautifulSoup提供了一些方法,可以搜索文档树中的元素。例如,可以使用find方法来搜索文档树中的第一个匹配的元素,使用find_all方法来搜索所有匹配的元素,使用select方法来使用CSS选择器来搜索元素。
  • 修改文档树:BeautifulSoup提供了一些方法,可以修改文档树中的元素。例如,可以使用appendprependinsert_beforeinsert_after方法来添加新的元素,使用replace_with方法来替换元素,使用extract方法来移除元素。

  使用BeautifulSoup的示例:

from bs4 import BeautifulSoup
# 解析HTML文档
html_doc = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
and they lived at the bottom of a well.</p>
<p class="story">...</p>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
# 导航文档树
p = soup.find('p', class_='title')
print(p.name)  # 输出: p
print(p.string)  # 输出: The Dormouse's story
# 搜索文档树
links = soup.find_all('a')
for link in links:
    print(link.get('href'))  # 输出: http://example.com/elsie, http://example.com/lacie, http://example.com/tillie
# 修改文档树
p.string.replace_with('A new title')
print(p.string)  # 输出: A new title

  搜索相邻的元素标签值:

def job():
    
    soup = BeautifulSoup(html_doc, 'html.parser')
    target_a = soup.find('a', string='Elsie')
    print('target_a', target_a.text)
    if target_a is not None:
        target_a_next = target_a.find_next('a')
        print(target_a_next.text)
    else:
        print("No matching element found.")
 
job()

 

 

标签: Python

目录
相关文章
|
5天前
|
网络协议 数据库连接 Python
python知识点100篇系列(17)-替换requests的python库httpx
【10月更文挑战第4天】Requests 是基于 Python 开发的 HTTP 库,使用简单,功能强大。然而,随着 Python 3.6 的发布,出现了 Requests 的替代品 —— httpx。httpx 继承了 Requests 的所有特性,并增加了对异步请求的支持,支持 HTTP/1.1 和 HTTP/2,能够发送同步和异步请求,适用于 WSGI 和 ASGI 应用。安装使用 httpx 需要 Python 3.6 及以上版本,异步请求则需要 Python 3.8 及以上。httpx 提供了 Client 和 AsyncClient,分别用于优化同步和异步请求的性能。
python知识点100篇系列(17)-替换requests的python库httpx
|
3天前
|
XML 前端开发 数据格式
Beautiful Soup 解析html | python小知识
在数据驱动的时代,网页数据是非常宝贵的资源。很多时候我们需要从网页上提取数据,进行分析和处理。Beautiful Soup 是一个非常流行的 Python 库,可以帮助我们轻松地解析和提取网页中的数据。本文将详细介绍 Beautiful Soup 的基础知识和常用操作,帮助初学者快速入门和精通这一强大的工具。【10月更文挑战第11天】
18 2
|
14天前
|
Shell Python
Python 的 os 库的应用实例
Python 的 os 库的应用实例
17 3
|
14天前
|
Linux Python Windows
Python sys 库的应用实例
Python sys 库的应用实例
20 3
|
14天前
|
Python
Python 中的 spell checker 库
Python 中的 spell checker 库
28 1
|
16天前
|
人工智能 搜索推荐 API
使用 Python holidays 库获取中国节日
使用 Python holidays 库获取中国节日
64 2
|
6天前
|
Linux Android开发 开发者
【Python】GUI:Kivy库环境安装与示例
这篇文章介绍了 Kivy 库的安装与使用示例。Kivy 是一个开源的 Python 库,支持多平台开发,适用于多点触控应用。文章详细说明了 Kivy 的主要特点、环境安装方法,并提供了两个示例:一个简单的 Hello World 应用和一个 BMI 计算器界面。
13 0
|
11天前
|
PyTorch 测试技术 算法框架/工具
Python中Thop库的常见用法和代码示例
肆十二在B站分享了关于THOP(Torch-OpCounter)的实战教学视频。THOP是一个用于计算PyTorch模型操作数和计算量的工具,帮助开发者评估模型复杂度和性能。本文介绍了THOP的安装、使用方法及基本用例,包括如何计算模型的FLOPs和参数量。
27 0
|
11天前
|
算法 数据可视化 计算机视觉
Python中医学图像处理常用的库
在Python中,医学图像处理常用的库包括:ITK(及其简化版SimpleITK)、3D Slicer、Pydicom、Nibabel、MedPy、OpenCV、Pillow和Scikit-Image。这些库分别擅长图像分割、配准、处理DICOM和NIfTI格式文件、图像增强及基础图像处理等任务。选择合适的库需根据具体需求和项目要求。
22 0
|
11天前
|
SQL 关系型数据库 MySQL
Python中Pymysql库的常见用法和代码示例
`pymysql` 是一个用于连接 MySQL 数据库的 Python 库,支持 SQL 查询的执行和结果处理。通过 `pip install pymysql` 安装后,可使用 `connect()` 方法建立连接,`cursor()` 创建游标执行查询,包括数据的增删改查,并通过 `commit()` 和 `rollback()` 管理事务,最后需关闭游标和连接以释放资源。
28 0