HTML解析之BeautifulSoup
BeautifulSoup是一个用于从HTML和XML文件中提取数据的Python库。BeautifulSoup提供一些简单的、函数用来处理导航、搜索、修改分析树等功能。BeautifulSoup模块中的查找提取功能非常强大,而且非常便捷,它通常可以节省程序员数小时或数天的工作时间。
BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为UTF-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,BeautifulSoup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
1、安装,先装bs4,再装BeautifulSoup4
BeautifulSoup支持python标准库中包含的HTML解析器,但它也支持许多第三方python解释器,其中包含lxml解释器。这个安装就行。
另一个解释器是html5lib,它是一个解析HTML的python库,按照web浏览器的方式解析HTML。这个安装就行
解释器的优缺点:
| 解释器 | 用法 | 优点 | 缺点 |
| Python标准库 | BeautifulSoup(markup,'html.parser') |
Python标准库 执行速度适中 |
部分版本中文档容错能力差 |
| lxml的HTML解释器 | BeautifulSoup(markup,'lxml') | 速度快,文档容错能力强 | 需要安装c语言库 |
| lxml的XML解释器 |
BeautifulSoup(markup,'lxml-xml') BeautifulSoup(markup,'xml') |
速度快 唯一支持xml的解析器 |
需要安装c语言库 |
| html5lib | BeautifulSoup(markup,'html5lib') |
最好的容错性 以浏览器的方式解析文档生成HTML5格式的文档 |
速度慢 不依赖外部扩展 |
2、BeautifulSoup的使用
下面用BeautifulSoup进行HTML的解析工作,具体如下:
from bs4 import BeautifulSoup #创建一个BeautifulSoup对象,获取页面正文
soup=BeautifulSoup(open('test.html'),features='lxml')
print(soup.prettify()) #打印格式化后的代码
HTML解析之BeautifulSoup的更多相关文章
- 【爬虫入门手记03】爬虫解析利器beautifulSoup模块的基本应用
[爬虫入门手记03]爬虫解析利器beautifulSoup模块的基本应用 1.引言 网络爬虫最终的目的就是过滤选取网络信息,因此最重要的就是解析器了,其性能的优劣直接决定这网络爬虫的速度和效率.Bea ...
- Python HTML解析器BeautifulSoup(爬虫解析器)
BeautifulSoup简介 我们知道,Python拥有出色的内置HTML解析器模块——HTMLParser,然而还有一个功能更为强大的HTML或XML解析工具——BeautifulSoup(美味的 ...
- 【网络爬虫入门03】爬虫解析利器beautifulSoup模块的基本应用
[网络爬虫入门03]爬虫解析利器beautifulSoup模块的基本应用 1.引言 网络爬虫最终的目的就是过滤选取网络信息,因此最重要的就是解析器了,其性能的优劣直接决定这网络爬虫的速度和效率.B ...
- 爬虫----爬虫解析库Beautifulsoup模块
一:介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你 ...
- 爬虫解析库——BeautifulSoup
解析库就是在爬虫时自己制定一个规则,帮助我们抓取想要的内容时用的.常用的解析库有re模块的正则.beautifulsoup.pyquery等等.正则完全可以帮我们匹配到我们想要住区的内容,但正则比较麻 ...
- 爬虫解析库BeautifulSoup的一些笔记
BeautifulSoup类使用 基本元素 说明 Tag 标签,最基本的信息组织单元,分别是<>和</>标明开头和结尾 Name 标签的名字,<p></p ...
- 爬虫解析库beautifulsoup
一.介绍 Beautiful Soup是一个可以从HTML或XML文件中提取数据的python库. #安装Beautiful Soup pip install beautifulsoup4 #安装解析 ...
- HTML解析器BeautifulSoup
BeautifulSoup是Python的一个库,可解析用urllib2抓取下来的HTML 1.Beautiful Soup 安装 可以利用 pip 来安装,在Python程序中导入 pip inst ...
- 解析库-beautifulsoup模块
# -*- coding: utf-8 -*- from bs4 import BeautifulSoup # 安装:pip install beautifulsoup4 # Beautiful So ...
- python爬虫数据解析之BeautifulSoup
BeautifulSoup是一个可以从HTML或者XML文件中提取数据的python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式. BeautfulSoup是python爬虫三 ...
随机推荐
- laradock
配置xdebug:http://m.php.cn/article/407434.html
- atmega16功耗实测
晶振32.768K 电压 电流 1.82 10ua 2.00 15ua 2.5 28ua 3.3 ...
- 一对多关联模型,BELONGS_TO
先分别创建三张表:test_user test_message test_user 表里有id.name字段 test_message 表里有id.content.uid字段 然后建立一个Mode ...
- zabbix源码安装实例
环境 系统 Centos7 zabbix版本 Zabbix 3.4.15 (revision 86739) zabbix源码安装 .tar.gz cd zab ...
- python3 编码解码
字符换算 比特(bit) 计算机最小的存储单位 字节(byte) 1 bit = 1 位 8 bit = 1 byte 1024 bytes = 1 kb 1024 kb = 1 mb 1024 mb ...
- Java 基础 多线程和线程池基础
一,多线程 1.1 多线程介绍 进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程:线程是进程中的一个执行单元,负 ...
- AIX7.1环境打补丁缺少bash OPATCHAUTO-72049
DB:12.1.0.2.0 RAC OS:AIX 7.1 [To patch only the GI home] su - root export UNZIPPED_PATCH_LOCATION=/o ...
- AMBER: CPPTRAJ Tutorial C0
CPPTRAJ作为PTRAJ的继任者,拥有比PTRAJ更强大的功能,本教程会简要的介绍CPPTRAJ的用法及注意事项. 需要的文件: trpzip2.gb.nc trpzip2.ff10.mbondi ...
- Hadoop集群故障诊断
集群故障诊断通行方法:1.cloudera manager 监控和管理软件本身出问题了(没有任何数据),集群还是好的,业务还在正常跑:2.监控软件是好的,从监控里发现了很多问题,如CPU飙高.内存飙高 ...
- NuGet的简单使用
什么是NuGet? NuGet(读作New Get)是用于微软.NET开发平台的软件包管理器,是一个Visual Studio的扩展.在使用Visual Studio开发基于.NET Framewor ...