Python BeautifulSoup 简单笔记
2013-09-30 09:41
525 查看
Beautiful Soup 是用 Python 写的一个 HTML/XML 的解析器,它可以很好的处理不规范标记并生成剖析树。通常用来分析爬虫抓取的web文档。对于 不规则的 Html文档,也有很多的补全功能,节省了开发者的时间和精力。
Beautiful Soup 的官方文档齐全,将官方给出的例子实践一遍就能掌握。官方英文文档,中文文档
一 安装 Beautiful Soup
安装 BeautifulSoup 很简单,下载 BeautifulSoup 源码。解压运行
python setup.py install 即可。
测试安装是否成功。键入 import BeautifulSoup 如果没有异常,即成功安装
二 使用 BeautifulSoup
1. 导入BeautifulSoup ,创建BeautifulSoup 对象
2. BeautifulSoup对象简介
用BeautifulSoup 解析 html文档时,BeautifulSoup将 html文档类似 dom文档树一样处理。BeautifulSoup文档树有三种基本对象。
2.1. soup BeautifulSoup.BeautifulSoup
2.2. 标记 BeautifulSoup.Tag
2.3 文本 BeautifulSoup.NavigableString
3. BeautifulSoup 剖析树
3.1 BeautifulSoup.Tag对象方法
获取 标记对象(Tag)
标记名获取法 ,直接用 soup对象加标记名,返回 tag对象.这种方式,选取唯一标签的时候比较有用。或者根据树的结构去选取,一层层的选择
content方法
content方法 根据文档树进行搜索,返回标记对象(tag)的列表
使用
next 方法
获取树的子代元素,包括 Tag 对象 和 NavigableString 对象。。。
nextSibling 下一个兄弟对象 包括 Tag 对象 和 NavigableString 对象
与 nextSibling 相似的是 previousSibling,即上一个兄弟节点。
replacewith方法
将对象替换为,接受字符串参数
搜索方法
搜索提供了两个方法,一个是 find,一个是findAll。这里的两个方法(findAll和 find)仅对Tag对象以及,顶层剖析对象有效,但 NavigableString不可用。
接受一个参数,标记名
寻找文档所有 P标记,返回一个列表
寻找 id="secondpara"的 p 标记,返回一个结果集
传一个属性或多个属性对
利用正则表达式
读取和修改属性
剖析树基本方法就这些,还有其他一些,以及如何配合正则表达式。具体请看官方文档
3.2 BeautifulSoup.NavigableString对象方法
NavigableString 对象方法比较简单,获取其内容
至于如何遍历树,进而分析文档,已经 XML 文档的分析方法,可以参考官方文档。
转自:http://rsj217.diandian.com/post/2012-11-01/40041235132
官方文档:http://www.crummy.com/software/BeautifulSoup/bs4/doc/
学习笔记:http://pqcc.iteye.com/blog/627481
Beautiful Soup 的官方文档齐全,将官方给出的例子实践一遍就能掌握。官方英文文档,中文文档
一 安装 Beautiful Soup
安装 BeautifulSoup 很简单,下载 BeautifulSoup 源码。解压运行
python setup.py install 即可。
测试安装是否成功。键入 import BeautifulSoup 如果没有异常,即成功安装
二 使用 BeautifulSoup
1. 导入BeautifulSoup ,创建BeautifulSoup 对象
用BeautifulSoup 解析 html文档时,BeautifulSoup将 html文档类似 dom文档树一样处理。BeautifulSoup文档树有三种基本对象。
2.1. soup BeautifulSoup.BeautifulSoup
3.1 BeautifulSoup.Tag对象方法
获取 标记对象(Tag)
标记名获取法 ,直接用 soup对象加标记名,返回 tag对象.这种方式,选取唯一标签的时候比较有用。或者根据树的结构去选取,一层层的选择
content方法 根据文档树进行搜索,返回标记对象(tag)的列表
contents向后遍历树,使用
parent向前遍历树
next 方法
获取树的子代元素,包括 Tag 对象 和 NavigableString 对象。。。
replacewith方法
将对象替换为,接受字符串参数
搜索提供了两个方法,一个是 find,一个是findAll。这里的两个方法(findAll和 find)仅对Tag对象以及,顶层剖析对象有效,但 NavigableString不可用。
findAll(
name, attrs, recursive, text, limit, **kwargs)
接受一个参数,标记名寻找文档所有 P标记,返回一个列表
3.2 BeautifulSoup.NavigableString对象方法
NavigableString 对象方法比较简单,获取其内容
转自:http://rsj217.diandian.com/post/2012-11-01/40041235132
官方文档:http://www.crummy.com/software/BeautifulSoup/bs4/doc/
学习笔记:http://pqcc.iteye.com/blog/627481
相关文章推荐
- Python BeautifulSoup 简单笔记
- Python BeautifulSoup 简单笔记
- Python BeautifulSoup 简单笔记
- python 笔记 if语句的简单使用 《笨办法学Python》习题29 ——1.2
- Python之BeautifulSoup模块的简单使用
- python学些笔记——beautifulsoup对象操作2
- Python开发简单爬虫--学习笔记
- python自学笔记(8)--Python简单爬虫从网站上下载图片和用第三方库request实现百度翻译
- Python Django 学习笔记 Python简单运用(二)
- Python爬虫学习笔记一:简单网页图片抓取
- Python3.x学习笔记[1]:2种简单爬虫获取京东价格
- python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
- python笔记一_简单的基础
- Python学习笔记-Turtle库简单实例之日期时间显示
- python 笔记 if语句的简单嵌套 《笨办法学Python》习题31 ——1.3
- [python爬虫] BeautifulSoup和Selenium简单爬取知网信息测试
- Python---BeautifulSoup 简单的爬虫实例
- Python简单操作笔记
- python︱HTML网页解析BeautifulSoup学习笔记
- Python学习笔记-初级(一):基本语法及简单程序