Fork me on GitHub

Beautiful Soup 4.2.0

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式

快速开始

pip install beautifulsoup4

下面的一段HTML代码将作为例子


content="""
<div id="post_detail">
	<div class="post">
		<h2>
			<a id="cb_post_title_url" href="http://www.cnblogs.com/Mainz/archive/2009/03/14/1411359.html">实用正则表达式匹配和替换</a>
		</h2>
		<div class="postText"><div id="cnblogs_post_body" class="blogpost-body"><p>正则表达式非常有用,查找、匹配、处理字符串、替换和转换字符串,输入输出等。而且各种语言都支持,例如.NET正则库,JDK正则包, Perl, JavaScript等各种脚本语言都支持正则表达式。下面整理一些常用的正则表达式。</p>
<table style="width: 710px;" border="1" cellspacing="0" cellpadding="2">

"""
from bs4 import BeautifulSoup
soup=BeautifulSoup(content,'html.parser')
从文档中找到所有<p>标签的链接
tag=soup.find(name="p")
print(tag)
从文档中找到所有<a>标签的链接:
for link in soup.find_all('a'):
    print(link.get('href'))
从文档中获取所有文字内容:
print(soup.get_text())    

每个tag都有自己的名字,通过 .name 来获取:
tag.name = "div"
tag.name
一个tag可能有很多个属性. tag <b class="boldest"> 有一个 “class” 的属性,值为 “boldest” . tag的属性的操作方法与字典相同:
tag['class']
也可以直接”点”取属性, 比如: .attrs
tag.attrs
tag的属性可以被添加,删除或修改. 再说一次, tag的属性操作方法与字典一样
tag['class'] = 'post'
tag['id'] = 1
tag
# <div class="post" id="1">Extremely bold</div>

del tag['class']
del tag['id']
tag
# <div>Extremely bold</div>
tag['class']
# KeyError: 'class'
print(tag.get('class'))
多值属性

  

 

posted on 2018-02-28 19:29  vmaze  阅读(135)  评论(0编辑  收藏  举报

导航