Python Html解析器:Beautiful Soup
04 Dec 2012做一个小东西用到了Beautiful Soup,一个Python的html解析器,功能很强大,记录一下。
官网:http://www.crummy.com/software/BeautifulSoup/
安装:python setup.py install
sh-3.2# python setup.py install
running install
running build
running build_py
creating build
creating build/lib
copying BeautifulSoup.py -> build/lib
copying BeautifulSoupTests.py -> build/lib
running install_lib
copying build/lib/BeautifulSoup.py -> /Library/Python/2.7/site-packages
copying build/lib/BeautifulSoupTests.py -> /Library/Python/2.7/site-packages
byte-compiling /Library/Python/2.7/site-packages/BeautifulSoup.py to BeautifulSoup.pyc
byte-compiling /Library/Python/2.7/site-packages/BeautifulSoupTests.py to BeautifulSoupTests.pyc
running install_egg_info
Writing /Library/Python/2.7/site-packages/BeautifulSoup-3.2.1-py2.7.egg-info
引入Beautiful Soup:
一般来说下面三句选择一句合适的即可
from BeautifulSoup import BeautifulSoup # For processing HTML
from BeautifulSoup import BeautifulStoneSoup # For processing XML
import BeautifulSoup # To get everything
使用:
import urllib2 from BeautifulSoup import BeautifulSoup c = urllib2.urlopen('http://lazynight.me') soup = BeautifulSoup(c.read()) links = soup('a')
会生成如下数据:
[夜阑, 音乐, 代码, 作品, 技术杂谈, 安全, 设计模式, 数据挖掘, 算法, ACM, 杂记, 开发文档, 广告合作, 留言, 读者墙, 友情链接, 文章存档, 工具箱, 关注Githubgithub.com/Flowerowl, 关注新浪微博weibo.com/lazynightz, 订阅夜阑feed.feedsky.com/Lazynight, 加入Last.fm, 机器学习与数据挖掘, 使用MovieLens数据集, 基于物品的过滤, 构建一个基于del.icio.us的链接推荐系统, 基于用户的协作型过滤推荐系统, 欧几里德距离和皮尔逊相关系数, 嵌入式入门NO.1—–焊接, Bootstrap 小试:不喜欢折腾界面的程序员的福音, 使用shc加密shell, 关于CommonJS, PhantomJS学习笔记(3):遍历文件系统, 修改Mac系统截图文件类型,保存路径, 这是一篇MarsEdit写的文章, PhantomJS 学习笔记(2):生成网页截图, 标签云, Html5, CSS3, Javascript, jQuery, Three.js, Ajax, C#, Object-c, Java, C++, PHP, Python, Mysql, MongoDB, SqlServer, Wordpress, Typecho, Django, Discuz, 注入, 漏洞, 渗透, 工具, 资讯, 嵌入式, Last.fm, 落网, 豆瓣电台, Jing, 巴士电台, 邻居的耳朵, , 加入Last.fm, 0人评论, , 机器学习与数据挖掘, 0人评论, , 使用MovieLens数据集, 0人评论, , 基于物品的过滤, 0人评论, , 构建一个基于del.icio.us的链接推荐系统, 0人评论, , 基于用户的协作型过滤推荐系统, 0人评论, , 欧几里德距离和皮尔逊相关系数, 3人评论, , 嵌入式入门NO.1—–焊接, 4人评论, , Bootstrap 小试:不喜欢折腾界面的程序员的福音, 4人评论, , 使用shc加密shell, 1人评论, , 关于CommonJS, 0人评论, , PhantomJS学习笔记(3):遍历文件系统, 0人评论, , 修改Mac系统截图文件类型,保存路径, 0人评论, , 这是一篇MarsEdit写的文章, 1人评论, , PhantomJS 学习笔记(2):生成网页截图, 0人评论, 2, 3, 4, 5, 22, 下一页, , 音乐收藏之摇滚系列!, 37人评论, 加入Last.fm, 机器学习与数据挖掘, 使用MovieLens数据集, 基于物品的过滤, 构建一个基于del.icio.us的链接推荐系统, 基于用户的协作型过滤推荐系统, 欧几里德距离和皮尔逊相关系数, 嵌入式入门NO.1—–焊接, Bootstrap 小试:不喜欢折腾界面的程序员的福音, 使用shc加密shell, , 我把印象里几首英伦摇滚写在这里, 22人评论, >Likecer: 这都用的上……你学《算法导论》的吗?最近正在琢磨这些东东,大脑明显营养跟不上, >兇弚情義:原来是这HB写的、我还以为你开始弄嵌入式了, >Likecer:多说是不是从WP后台回复,在这无法显示?我也没有收到邮件~, >天马行空: , >夜阑:哈哈,你已经折腾过啦?看来我out啦~, >Likecer:啊呀帅呆呆啊我当年用它美化wiki以为他很麻烦的, >夜阑:haha , 那加油吧~~, >阿疯:最近忙着泡妞,忙着给自己找个终身伴侣。, , 分形地形算法, 1人评论, 裂帛女装, 欧莎品牌服饰旗舰店, 茵曼旗舰店, 威戈, 夜阑, 站点地图, 投放广告, ◆◆]
其他用法请参考官方文档
http://www.crummy.com/software/BeautifulSoup/bs4/doc/#
转载请注明:于哲的博客 » Python Html解析器:Beautiful Soup