使用python的BeautifulSoup库解析页面应选择适当容错能力的解析器
来源:互联网 发布:数据透视表多条件筛选 编辑:程序博客网 时间:2024/05/21 18:33
# -*- coding: utf-8 -*-"""filename : net_csdn_bbs_topics392225180.pyauthor: hu@daonao.com QQ: 443089607 weixin: huzhenghui weibo: http://weibo.com/443089607category : BeautifulSouporiginal url : http://bbs.csdn.net/topics/392225180original title : 请教如何用BeautifulSoup抓取示例中div标签的文本title : 使用python的BeautifulSoup库解析页面应选择适当容错能力的解析器csdn blog url :weibo article url :weibo message url :为了清晰直观展现python严格要求的缩进,请访问博客上博文详细说明见源代码中的注释"""# standard importimport loggingimport sysimport bs4logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')logging.debug('start')# 3.6.0logging.debug('python version : %s', sys.version)# 4.5.3logging.debug('bs4.__version : %s', bs4.__version__)STR_HTML_PAGE = """<html><body></div>BeautifulSoup<p></p></body></html>"""# 解析器 : Python标准库# 使用方法 : BeautifulSoup(markup, "html.parser")# 优势 : Python的内置标准库# 优势 : 执行速度适中# 优势 : 文档容错能力强# 劣势 : Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差BEAUTIFULSOUP_HTML_PARSER = bs4.BeautifulSoup(STR_HTML_PAGE, 'html.parser')logging.debug('html.parser')"""<html> <body> </body></html>BeautifulSoup<p></p>"""print(BEAUTIFULSOUP_HTML_PARSER.prettify())sys.stdout.flush()# 解析器 : lxml HTML 解析器# 安装 : pip install lxml# 使用方法 : BeautifulSoup(markup, "lxml")# 优势 : 速度快# 优势 : 文档容错能力强# 劣势 : 需要安装C语言库BEAUTIFULSOUP_LXML = bs4.BeautifulSoup(STR_HTML_PAGE, 'lxml')logging.debug('lxml')"""<html> <body> BeautifulSoup <p> </p> </body></html>"""print(BEAUTIFULSOUP_LXML.prettify())sys.stdout.flush()# 解析器 : lxml XML 解析器# 安装 : pip install lxml# 使用方法 : BeautifulSoup(markup, ["lxml", "xml"])# 使用方法 : BeautifulSoup(markup, "xml")# 优势 : 速度快# 优势 : 唯一支持XML的解析器# 劣势 : 需要安装C语言库BEAUTIFULSOUP_XML = bs4.BeautifulSoup(STR_HTML_PAGE, 'xml')logging.debug('xml')"""<?xml version="1.0" encoding="utf-8"?><html> <body> </body> BeautifulSoup <p> </p></html>"""print(BEAUTIFULSOUP_XML.prettify())sys.stdout.flush()# 解析器 : html5lib# 安装 : pip install html5lib# 使用方法 : BeautifulSoup(markup, "html5lib")# 优势 : 最好的容错性# 优势 : 以浏览器的方式解析文档# 优势 : 生成HTML5格式的文档# 劣势 : 速度慢# 劣势 : 不依赖外部扩展BEAUTIFULSOUP_HTML5LIB = bs4.BeautifulSoup(STR_HTML_PAGE, 'html5lib')logging.debug('html5lib')"""<html> <head> </head> <body> BeautifulSoup <p> </p> </body></html>"""print(BEAUTIFULSOUP_HTML5LIB.prettify())#end of file
阅读全文
0 0
- 使用python的BeautifulSoup库解析页面应选择适当容错能力的解析器
- BeautifulSoup使用的html解析器比较
- Python3的解析库BeautifulSoup如何使用?
- Python 网页解析器BeautifulSoup示例使用
- 爬虫---BeautifulSoup库的解析器
- Python爬虫包 BeautifulSoup 学习(十) 各种html解析器的比较及使用
- BeautifulSoup解析xml文件的使用初步
- BeautifulSoup中各种html解析器的比较及使用
- 【beautifulsoup】python标准库解析器解析网页问题解决
- 解析html页面的选择
- BeautifulSoup解析页面造成信息丢失的解决办法
- 好用的HTML解析库BeautifulSoup
- Html文本的解析库BeautifulSoup
- python的【爬虫】:使用urllib爬取wiki文章,使用beautifulSoup解析html
- 用Python解析HTML,BeautifulSoup使用简介
- python使用HTMLParser和BeautifulSoup解析网页
- Python中使用BeautifulSoup做网页解析
- python使用HTMLParser和BeautifulSoup解析网页
- Java微信公众平台开发之将本地开发环境映射到公网访问
- gridControl
- flex-layout Responsive API
- HDU6154-CaoHaha's staff
- sysConfig.bat 闪退问题及此处不应有 \Java\jdk1.7.0_79问题的解决
- 使用python的BeautifulSoup库解析页面应选择适当容错能力的解析器
- openoffice问题:conversion failed: could not save output document; OOo errorCode: 283
- Android 三大图片缓存原理、特性对比
- 1159. 【NOI2002】银河英雄说(并查集)
- 接口自动化之thirdDay JsonGuolvTest 过滤掉某个字段的值 price
- 2017中国大学生程序设计竞赛
- Mapreduce二次排序实例
- Spring-AOP 自动创建代理
- 为MacOS升级vim至最新版