python学习笔记——beautifulsoup对象操作2





python learning



	

知足

一阵风

  知足的快乐  

  快乐  

知足的快乐

  知足的快乐  

吹来 才是真的永久

五月天

#!/user/bin/env python
#coding:utf-8
print 'beautifulsoup文档树操作'

from bs4 import BeautifulSoup

html = open('d:\\python\\demo.html')
bs = BeautifulSoup(html,'lxml')

#find_all方法:在当前节点中查找子节点,不包括自己
#find_all(self, name=None, attrs={}, recursive=True, text=None, limit=None, **kwargs)

#name:根据标签查找
print bs.div.find_all('p')

#**kwargs:根据属性查找
print bs.div.find_all(id='song')[0]

#attrs:根据属性字典查找
print bs.div.find_all(attrs={'target':"blank"})

#recursive:是否查找孙节点,默认是,否则仅查找直接子节点
#limit:查找的个数限制,默认无限制
print bs.div.find_all(['a','p'],id='song',recursive = False,limit = 10)

#跟string属性类似的输出特性
print bs.div.find_all(text='知足的快乐')

print '====================================='
#以上find的参数基本适用于其他find方法
#遍历父节点
for par in bs.p.find_parents():
    print par.name

print '====================================='
#向下遍历
for next in bs.p.find_all_next():
    print next
    
#除此之外兄弟也是类似的
#find和find_all区别在于find只返回第一个查找的
print '====================================='

#使用类似CSS的选择器查找
print bs.select('p',limit =  1)
print bs.select('.newClass')
print bs.select('#song')
print '======================================'

#查找子标签或组合
print bs.select('div > a')
print bs.select('div a[target="blank"]')

beautifulsoup文档树操作
[

\xa0\xa0\u77e5\u8db3\u7684\u5feb\u4e50\xa0\xa0

,

\xa0\xa0\u5feb\u4e50\xa0\xa0

,

\u77e5\u8db3\u7684\u5feb\u4e50

,

\xa0\xa0\u77e5\u8db3\u7684\u5feb\u4e50\xa0\xa0

,

\u4e94\u6708\u5929

]

  知足的快乐  

[\u624d\u662f\u771f\u7684\u6c38\u4e45] [

\xa0\xa0\u77e5\u8db3\u7684\u5feb\u4e50\xa0\xa0

,

\xa0\xa0\u5feb\u4e50\xa0\xa0

] [u'\u77e5\u8db3\u7684\u5feb\u4e50'] ===================================== div body html [document] =====================================

  快乐  

知足的快乐

  知足的快乐  

才是真的永久

五月天

五月天

===================================== [

\xa0\xa0\u77e5\u8db3\u7684\u5feb\u4e50\xa0\xa0

] [
\n\t\t\u4e00\u9635\u98ce\n\t\t

\xa0\xa0\u77e5\u8db3\u7684\u5feb\u4e50\xa0\xa0

\n

\xa0\xa0\u5feb\u4e50\xa0\xa0

\n

\u77e5\u8db3\u7684\u5feb\u4e50

\n

\xa0\xa0\u77e5\u8db3\u7684\u5feb\u4e50\xa0\xa0

\n\t\t\u5439\u6765\n\t\t\u624d\u662f\u771f\u7684\u6c38\u4e45\n
\n

\u4e94\u6708\u5929

\n
\n
] [

\xa0\xa0\u77e5\u8db3\u7684\u5feb\u4e50\xa0\xa0

,

\xa0\xa0\u5feb\u4e50\xa0\xa0

] ====================================== [\u624d\u662f\u771f\u7684\u6c38\u4e45] [\u624d\u662f\u771f\u7684\u6c38\u4e45]


你可能感兴趣的:(Python,Python学习,python)