1. import bs4
    2. str = '''
    3. <title id="tit">尚学堂</title>
    4. <div class='info' float='left'>Welcome to SXT</div>
    5. <div class='info' float='right'>
    6. <span>Good Good Study</span>
    7. <a href='www.bjsxt.cn'></a>
    8. <strong><!--没用--></strong>
    9. </div>
    10. '''
    11. # 创建 bs 对象
    12. bs = bs4.BeautifulSoup(str, 'lxml')
    13. # 获取第一个标签
    14. print(bs.title)
    15. # 获得所有标签属性
    16. print(bs.div.attrs)
    17. # 获得单个标签属性
    18. print(bs.div.get('class'))
    19. print(bs.div['class'])
    20. # 获得属性中的内容
    21. print(bs.div.string)
    22. print(bs.div.text)
    23. # 获取标签注释中解析的内容
    24. print(bs.strong.string)
    25. print(bs.strong.text)
    26. # 判断bs四大对象类型
    27. if type(bs.strong.string) == bs4.element.Comment:
    28. print('这是一个注释')
    29. # 获取标签注释中解析的内容
    30. print(bs.strong.string)
    31. # 原样输出注释
    32. print(bs.strong.prettify())
    33. print('------------find_all------------')
    34. # 通过标签查找
    35. print(bs.find_all('title'))
    36. # 通过 id 查找
    37. print(bs.find_all(id = 'tit'))
    38. # 通过 class
    39. print(bs.find_all(class_ = 'info'))
    40. # 通过属性
    41. print(bs.find_all(attrs = {'float': 'left'}))
    42. # 通过标签和属性查找
    43. print(bs.find_all('div', attrs = {'float': 'left'}))
    44. # 通过 css选择器 查找
    45. print('------------css------------')
    46. # id
    47. print(bs.select('#tit'))
    48. # class
    49. print(bs.select('.info'))
    50. # div 下的 span
    51. print(bs.select('div span'))
    52. # 顺序和层级选择 , 选择所有 div 下第一个 div 中的 span
    53. print(bs.select('div')[1].select('span'))