Python利用BeautifulSoup解析Html的方法示例

发布时间 - 2026-01-11 02:33:49    点击率:

介绍

Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。

Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。

本文将给大家详细介绍关于Python利用BeautifulSoup解析Html的方法,下面话不多说了,来一起看看详细的介绍:

1. 安装Beautifulsoup4

pip install beautifulsoup4
pip install lxml
pip install html5lib

lxml 和 html5lib 是解析器

2. html 

<!-- This is the example.html file. -->
 
<html><head><title>The Website Title</title></head>
<body>
<p>Download my <strong>Python</strong> book from <a href="http://inventwithpython.com" rel="external nofollow" >my website</a>.</p>
<p class="slogan">Learn Python the easy way!</p>
<p>By <span id="author">Al Sweigart</span></p>
</body></html>

上面的html保存html文件

3.开始解析

import bs4
 
exampleFile = open('example.html')
exampleSoup = bs4.BeautifulSoup(exampleFile.read(),'html5lib')
elems = exampleSoup.select('#author')
type(elems)
print (elems[0].getText())

结果输出 Al Sweigart

BeautifulSoup 使用select 方法寻找元素,类似jquery的css选择器

  • soup.select(‘div') ———————–所有为<div>的元素
  • soup.select(‘#author') —————–id为author的元素
  • soup.select(‘.notice') ——————class 为notice的元素

参考《Python 编程快速上手—–让繁琐工作自动化》

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持


# python  # beautifulsoup  # html  # 解析  # python BeautifulSoup使用方法详解  # Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】  # python 解析html之BeautifulSoup  # Python爬虫beautifulsoup4常用的解析方法总结  # python数据解析BeautifulSoup爬取三国演义章节示例  # 文档  # 转换为  # 就可以  # 不需要  # 说了  # 不多  # 它是  # 你不  # 自动识别  # 就不能  # 详细介绍  # 这篇文章  # 用户提供  # 等功能  # 谢谢大家  # 将给  # 应用程序  # 已成为  # 选择器  # 有疑问 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android使用GridView实现日历的简单功能  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  Laravel如何使用Collections进行数据处理?(实用方法示例)  无锡营销型网站制作公司,无锡网选车牌流程?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  详解Android图表 MPAndroidChart折线图  创业网站制作流程,创业网站可靠吗?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  在线制作视频的网站有哪些,电脑如何制作视频短片?  青岛网站建设如何选择本地服务器?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  Laravel如何为API编写文档_Laravel API文档生成与维护方法  JS中对数组元素进行增删改移的方法总结  Laravel如何实现事件和监听器?(Event & Listener实战)  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Android 常见的图片加载框架详细介绍  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  西安专业网站制作公司有哪些,陕西省建行官方网站?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  大连 网站制作,大连天途有线官网?  javascript中闭包概念与用法深入理解  C#如何调用原生C++ COM对象详解  如何确保FTP站点访问权限与数据传输安全?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  微信小程序 五星评分(包括半颗星评分)实例代码  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  详解MySQL数据库的安装与密码配置  Python制作简易注册登录系统  如何实现javascript表单验证_正则表达式有哪些实用技巧  如何在IIS服务器上快速部署高效网站?  高防服务器租用指南:配置选择与快速部署攻略  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  Laravel如何处理异常和错误?(Handler示例)  详解Android中Activity的四大启动模式实验简述  香港服务器租用每月最低只需15元?  Laravel观察者模式如何使用_Laravel Model Observer配置  历史网站制作软件,华为如何找回被删除的网站?  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何用狗爹虚拟主机快速搭建网站?  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  昵图网官方站入口 昵图网素材图库官网入口  Linux网络带宽限制_tc配置实践解析【教程】