打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Beautiful Soup 中文教程 [Python俱乐部]

Beautiful Soup 中文教程

Beautiful Soup 是一个处理Python HTML/XML的模块,功能相当强劲,最近仔细的看了一下他的帮助文档,终于看明白了一些。准备好好研究一下,顺便将Beautiful Soup的一些用法整理一下,放到这个wiki上面,那个文档确实不咋地。

Beautiful Soup 中文教程的官方页面:http://www.crummy.com/software/BeautifulSoup/

BeautifulSoup 下载与安装

下载地址为:
http://www.crummy.com/software/BeautifulSoup/

安装其实很简单,BeautifulSoup只有一个文件,只要把这个文件拷到你的工作目录,就可以了。

from BeautifulSoup import BeautifulSoup          # For processing HTMLfrom BeautifulSoup import BeautifulStoneSoup     # For processing XMLimport BeautifulSoup                             # To get everything

创建 BeautifulSoup 对象

BeautifulSoup对象需要一段html文本就可以创建了。

下面的代码就创建了一个BeautifulSoup对象:

from BeautifulSoup import BeautifulSoupdoc = ['<html><head><title>PythonClub.org</title></head>',       '<body><p id="firstpara" align="center">This is paragraph <b>one</b> of ptyhonclub.org.',       '<p id="secondpara" align="blah">This is paragraph <b>two</b> of pythonclub.org.',       '</html>']soup = BeautifulSoup(''.join(doc))

查找HTML内指定元素

BeautifulSoup可以直接用”.”访问指定HTML元素

根据html标签(tag)查找:查找html title

可以用 soup.html.head.title 得到title的name,和字符串值。

>>> soup.html.head.title<title>PythonClub.org</title>>>> soup.html.head.title.nameu'title'>>> soup.html.head.title.stringu'PythonClub.org'>>> 

也可以直接通过soup.title直接定位到指定HTML元素:

>>> soup.title<title>PythonClub.org</title>>>> 

根据html内容查找:查找包含特定字符串的整个标签内容

下面的例子给出了查找含有”para”的html tag内容:

>>> soup.findAll(text=re.compile("para"))[u'This is paragraph ', u'This is paragraph ']>>> soup.findAll(text=re.compile("para"))[0].parent<p id="firstpara" align="center">This is paragraph <b>one</b> of ptyhonclub.org.</p>>>> soup.findAll(text=re.compile("para"))[0].parent.contents[u'This is paragraph ', <b>one</b>, u' of ptyhonclub.org.']

根据CSS属性查找HTML内容

soup.findAll(id=re.compile("para$"))# [<p id="firstpara" align="center">This is paragraph <b>one</b>.</p>,#  <p id="secondpara" align="blah">This is paragraph <b>two</b>.</p>] soup.findAll(attrs={'id' : re.compile("para$")})# [<p id="firstpara" align="center">This is paragraph <b>one</b>.</p>,#  <p id="secondpara" align="blah">This is paragraph <b>two</b>.</p>]

深入理解BeautifulSoup

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python BeautifulSoup 简单笔记 | 人世间
Python 插件杂谈 (4) ---- BeautifulSoup , Python中的网页分析工具
beautifulsoup的简单用法
经验 | Python爬虫基础
怎么使用beautifulsoup获取指定div标签内容
用python实现的抓取腾讯视频所有电影的爬虫
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服