BeautifulSoup库用法总结

简介: 0.写在前面在python的爬虫中,经常需要用到强大的beautifulsoup库,如之前写的股票数据的爬取中就用到了它。在这里,将详细总结beautifulsoup的用法,来巩固相关知识。

0.写在前面

在python的爬虫中,经常需要用到强大的beautifulsoup库,如之前写的股票数据的爬取中就用到了它。在这里,将详细总结beautifulsoup的用法,来巩固相关知识。以下便是我从各种网站搜集的资料,在这里做一个汇总。(我从不生产知识,我只是知识的搬运工)

1.基本介绍

img_50c5aed161c7a7c8bcd45de12e3659f9.png
beautifulsoup

2.安装/引用

安装:win平台中‘以管理员身份运行’cmd,执行pip install beautifulsoup4即可安装
引用:from bs4 import BeautifulSoupimport bs4即可

3.使用方法

img_a9e892fe7990c5bd0d3ba543b2694d66.png
先煲制一锅汤

img_c9a49023529b9a44da992ead43a0c897.png
解析器
img_87d47e8b6274f0a603f9e2019cedb4a6.png
基本元素

img_0cb2809155acda65b06bac86201798c2.png
对应各元素

img_04ed223ff98fb02880218ced2b1b0cd4.png
一个用于接下来分析的demo

img_70b0e58e902eb7170b49737676e58978.png
tag标签

img_84bd13768c34d9a4df42ed543038b661.png
tag.name

img_f7b2971b8785da3ae7314c48bd4c4c3b.png
attrs

img_af450964effdd8b033f0322933d643c3.png
string

img_db18eb4c2307a635d60ac3e5c7140d00.png
comment
如果不想输出内容的注释,可以写一个if语句:
if type(newsoup.b.string)==element.Comment:
    print (newsoup.b.string)

bs4库将任何HTML输入都变成utf-8编码,python3.x默认支持编码是utf-8编码,解析无障碍

img_f2b679ac340a60f10157641b47b7aed4.png
beautifulsoup库基本入门
img_00af021a65ac1621b39bc70e72ced0cb.png
HTML基本格式
img_2fcbf62276e9bc4a71da17cbe1913626.png
标签树的下行遍历
img_914afd0ccd81c9fc77e105d5cb6ee87a.png
标签树的上行遍历

img_2af4f37c6d9b53762521380340472a1e.png
标签树的平行遍历

本文参考中国大学MOOC / kikaylee的专栏

目录
相关文章
|
8月前
|
数据采集 机器学习/深度学习 数据挖掘
基于DeepSeek的多模态融合技术:实现图像、视频与音频的协同分析
随着多媒体数据的爆炸式增长,单一模态数据分析已无法满足复杂场景需求。多模态融合技术通过整合图像、视频、音频等多源数据,提供更全面精准的分析结果。DeepSeek作为强大的深度学习框架,在多模态融合领域展现巨大潜力。本文深入探讨基于DeepSeek的多模态融合技术,结合代码示例展示其在图像、视频与音频协同分析中的实际应用,涵盖数据预处理、特征融合、模型训练及评估等环节,并展望未来发展方向。
1781 13
|
文字识别 Linux Swift
多图理解,更懂中文,支持function call的Phi-3.5来了!
微软继今年4月推出Phi-3系列小型语言模型后,又一鼓作气三连发布并开源其「小而美」系列 Phi-3.5模型!
|
存储 自然语言处理 算法
OpenIM Bot: 用LLM构建企业专属的智能客服
OpenIM Bot 通过结合LLM和RAG技术,构建企业专属的智能客服系统。该系统通过优化向量存储、混合检索和查询分析,解决了LLM的幻觉、新鲜度、token长度和数据安全问题,提升了用户体验。向量存储和预处理步骤确保文档高质量,而混合检索结合文本和语义搜索,增强了检索结果的准确性。通过迭代优化,OpenIM Bot 提供了高效、智能的支持服务,减轻了支持团队的负担,提升了问题解决效率。
1396 3
OpenIM Bot: 用LLM构建企业专属的智能客服
|
编译器 Android开发
Android S内置APK时AndroidManifest使用uses-library编译报错
Android S内置APK时AndroidManifest使用uses-library编译报错
862 0
|
算法 索引 Python
【Leetcode刷题Python】852. 山脉数组的峰顶索引
本文使用二分查找算法解决LeetCode "山脉数组的峰顶索引" 问题的Python实现,通过递归地缩小搜索区间来查找山脉数组的峰值索引。
121 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的科技银行业务管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的科技银行业务管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
129 1
|
前端开发
css实现简单的告警提示动画效果
css实现简单的告警提示动画效果
274 0
|
数据可视化 数据管理 BI
招聘管理综合实践——生成在线简历库|学习笔记
快速学习招聘管理综合实践——生成在线简历库
招聘管理综合实践——生成在线简历库|学习笔记
|
Java 数据库连接 数据库
Spring整合MyBatis---注解版
Spring整合MyBatis---注解版
266 0
Spring整合MyBatis---注解版
|
前端开发
纯css实现横向滚动
纯css实现横向滚动
332 0