<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>python learning</title>
</head>
<body>
<h1>知足</h1>
<div class="newClass" style="border:#000">
<p>知足的快乐</p>
<a href="http://www.baidu.com" target="blank">才是真的永久</a>
</div>
</body>
</html>
#!/user/bin/env python
#coding:utf-8
print 'BeautifulSoup对象属性操作'
from bs4 import BeautifulSoup
html = open('D:\\python\\demo.html').read()
bs = BeautifulSoup(html,"lxml")
#BeautifulSoup将html转为4种对象的树结构
#BeautifulSoup对象也即是文档本身,输出本身即文档注释
print bs.name,bs.title
#格式化输出,可指定encoding和输出格式
#print bs.prettify(encoding='utf-8')
print '==================================='
#tag标签 默认输出第一个,同样的包括标签内的注释
print bs.p
print bs.div.name
#输出标签属性
print bs.div.attrs
print bs.div.attrs['style']
print '==================================='
#NavigableString 标签的innerhtml值,不包括注释
print bs.h1.string
print type(bs.h1.string)
print '==================================='
输出:
BeautifulSoup对象属性操作
[document] <title>python learning</title>
===================================
<p>知足的快乐</p>
div
{'style': 'border:#000', 'class': ['newClass']}
border:#000
===================================
知足
<class 'bs4.element.NavigableString'>
===================================