首页 > 编程语言 >python中BeautifulSoup库使用小结

python中BeautifulSoup库使用小结

时间:2023-11-11 23:55:07浏览次数:33  
标签:target python 元素 BeautifulSoup 文档 print 小结 find

转载请注明出处:

  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()

 

 

标签:target,python,元素,BeautifulSoup,文档,print,小结,find
From: https://www.cnblogs.com/zjdxr-up/p/17826034.html

相关文章

  • python rpy2.robjects库总结
    参考:https://rpy2.github.io/介绍rpy2是用C语言编写的,是嵌入在Python进程中的R运行接口。该包由几个子包或模块组成:1)rpy2.rinterface:R的低级接口,当速度和灵活性最重要的时候。接近R的c级API。2)rpy2.robjects:R的高级接口,注重易用性。更友好,使用更广泛。3)rpy2.interactive......
  • pythonDay10
    X模式,是只写模式,文件存在时则会报错,文件不存在则创建文件换行:r\  n\b模式案例及循环补充 flush刷新,只出现在测试场景 文件指针移动 ......
  • 【Python | 虚拟环境】Python创建虚拟环境哪些事,一文打通脉络,确定不来看看?
    ......
  • python中包管理工具pip以及虚拟环境venv的使用
    1.pip命令查看已安装的包piplist安装包pipinstallpackage_name卸载包#卸载指定包pipuninstallpackage_name#卸载已安装的所有第三方Python库pipfreeze>list.txtpipuninstall-rlist.txt-y导出已安装的包pipfreeze>requirements.txt配置全局默......
  • Python 数据解析:从基础到高级技巧
    导言:Python作为一门强大的编程语言,不仅在Web开发、数据分析和人工智能领域有广泛的应用,还在数据解析方面具有强大的能力。数据解析是从结构化或非结构化数据源中提取有用信息的过程,通常在数据清洗、数据分析和可视化之前进行。本文将深入探讨Python在数据解析中的应用,从基础知识到......
  • wechaty撸一个属于自己的微信机器人(Python版接入文心一言)
    前言说明:机器人的框架找了很久,由于很多框架都不能使用了或者封号率极高,最后选择了wewechaty,wechaty是可以使用ipad协议,主要是以node写的,因为打算机器人接入爬虫项目,所以特意用了python版本,对于python版网上教程太少且模糊且时间过于久远,所做以此文为采坑记录。前期准备:tok......
  • tensorflow版本与CUDA、cuDNN、Python适配表
    从源代码构建 | TensorFlow(google.cn)......
  • python 执行脚本,并将输出打印到文件
    转载请注明出处:在使用python直接执行脚本时,执行的相关输出会打印到当前的控制台,如果想输出到指定的文件,可以采用以下几种方式:1.在启动时,使用>操作符,该操作符会将输出写入到指定文件,并覆盖原来文件内容如创建一个python脚本,内容如下:print("Thisisatest......
  • SMOGN算法的Python实现:不平衡数据的深度学习回归
      本文介绍基于Python语言中的smogn包,读取.csv格式的Excel表格文件,实现SMOGN算法,对机器学习、深度学习回归中,训练数据集不平衡的情况加以解决的具体方法。  在不平衡回归问题中,样本数量的不均衡性可能导致模型在预测较少类别的样本时表现较差;为了解决这个问题,可以使用SMOTE(Syn......
  • python 编程模拟题(一)
    python编程模拟题,要求:源代码可以拍照发给老师,也可以手抄带过来。可以参考之前自己的代码或语法,也可以参考地址的语法讲解:https://www.runoob.com/python/python-basic-syntax.html 1.  获得用户输入的一个字符串,将字符串逆序输出,同时紧接着输出该字符串所包含字符......