#-*- coding: utf-8 -*-
from bs4 importBeautifulSoupdefmain():
html= '''
TestTest
'''soup= BeautifulSoup(html, 'html.parser')#输出整个 html#print '
', soup.prettify()
#title 标签
#print '
', soup.title
#title 标签名称
#print '
', soup.title.name
#title 标签内容
#print '
', soup.title.string
#title 标签的父级标签名称
#print '
', soup.title.parent.name
#p 标签(首个 p)
#print '
', soup.p
#p 标签名称
#print '
', soup.p.name
#p 标签下的 b 标签
#print '
', soup.p.b
#p 标签的 class 属性值,类型、数组首个值
#print '
', soup.p["class"], type(soup.p["class"]), soup.p["class"][0]
#首个 a 标签
#print '
', soup.a
#查找所有 a 标签, 类型数组
#a_arr = soup.find_all('a')
#for value in a_arr:
#print '
', value
#查找 id = link2 的标签(特殊的标签属性可以不写 attrs)
#print '
', soup.find(id='link2')
#查找 class 是 title 的标签
#print '
', soup.find(attrs={'class': 'title'})
#查找 name 是 ele 的标签
#print '
', soup.find(attrs={'name': 'ele'})
#查找 img,获取相应属性值
#img_arr = soup.find_all('img')
#for value in img_arr:
#print '
', value['src']
#attrs = value.attrs
#for attr in attrs:
#print '
', attr
#if attr == 'data-src':
#print '
', value[attr]
#获取 div 标签下所有子节点
#print '
', soup.div.contents,
#获取 div 下首个子节点
#print '
', soup.div.contents[0]
#获取 div 下第二个子节点
#print '
', soup.div.contents[1]
#获取 div 下第二个子节点
#print '
', soup.div.contents[1].li
#获取 b 标签的文本内容
#print '
', soup.b.get_text()
#获取无值属性
#print '
', soup.div.title, type(soup.div.title), soup.div.title == None, not soup.div.title
#not 取反
#if not None:
#print None
#css 选择器 select()
print '', soup.select('b')#file onload
if __name__ == '__main__':
main()