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


Posted in Python onJuly 30, 2017

介绍

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 相关文章推荐
python中as用法实例分析
Apr 30 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
python 3.7.0 安装配置方法图文教程
Aug 27 Python
在pycharm中python切换解释器失败的解决方法
Oct 29 Python
python在openstreetmap地图上绘制路线图的实现
Jul 11 Python
Flask-WTF表单的使用方法
Jul 12 Python
django 通过URL访问上传的文件方法
Jul 28 Python
python 比较2张图片的相似度的方法示例
Dec 18 Python
Python JSON常用编解码方法代码实例
Sep 05 Python
Python实现王者荣耀自动刷金币的完整步骤
Jan 22 Python
python基于Kivy写一个图形桌面时钟程序
Jan 28 Python
Python中os模块的简单使用及重命名操作
Apr 17 Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 #Python
Python 装饰器使用详解
Jul 29 #Python
python实现数据图表
Jul 29 #Python
基于Python的XSS测试工具XSStrike使用方法
Jul 29 #Python
使用Kivy将python程序打包为apk文件
Jul 29 #Python
python对配置文件.ini进行增删改查操作的方法示例
Jul 28 #Python
Python3中使用PyMongo的方法详解
Jul 28 #Python
You might like
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
php读取csc文件并输出
2015/05/21 PHP
php文件读取方法实例分析
2015/06/20 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
jquery获取tagName再进行判断
2014/05/29 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
浅谈javascript构造函数与实例化对象
2015/06/22 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
Python使用django框架实现多人在线匿名聊天的小程序
2017/11/29 Python
Python占用的内存优化教程
2019/07/28 Python
opencv 图像礼帽和图像黑帽的实现
2020/07/07 Python
python 实现超级玛丽游戏
2020/11/25 Python
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
单位实习证明怎么写
2014/01/17 职场文书
体育课外活动总结
2014/07/08 职场文书
机械操作工岗位职责
2014/08/08 职场文书
七一建党日演讲稿
2014/09/05 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
维稳工作情况汇报
2014/10/27 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
暑期实践个人总结
2015/03/06 职场文书
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL