test.html:
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>测试bs4</title>
</head>
<body>
<div>
<p>百里守约</p>
</div>
<div class="song">
<p>李清照</p>
<p>王安石</p>
<p>苏轼</p>
<p>柳宗元</p>
<a href="http://www.song.com/" title="赵匡胤" target="_self">
<span>this is span</span>
宋朝是最强大的王朝,不是军队的强大,而是经济很强大,国民都很有钱</a>
<a href="" class="du">总为浮云能蔽日,长安不见使人愁</a>
<img src="http://www.baidu.com/meinv.jpg" alt="" />
</div>
<div class="tang">
<ul>
<li><a href="http://www.baidu.com" title="qing">清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村</a></li>
<li><a href="http://www.163.com" title="qin">秦时明月汉时关,万里长征人未还,但使龙城飞将在,不教胡马度阴山</a></li>
<li><a href="http://www.126.com" alt="qi">岐王宅里寻常见,崔九堂前几度闻,正是江南好风景,落花时节又逢君</a></li>
<li><a href="http://www.sina.com" class="du">杜甫</a></li>
<li><a href="http://www.dudu.com" class="du">杜牧</a></li>
<li><b>杜小月</b></li>
<li><i>度蜜月</i></li>
<li><a href="http://www.haha.com" id="feng">凤凰台上凤凰游,凤去台空江自流,吴宫花草埋幽径,晋代衣冠成古丘</a></li>
</ul>
</div>
</body>
</html>
用法:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/9/15 21:53
# @Author : aqiong
# @Site :
# @File : bs4_test.py
# @Software: PyCharm
from bs4 import BeautifulSoup
import lxml#解析器
#将本地的html文档中的数据加载到该对象中
fp = open('./test.html','r',encoding='utf-8')
soup = BeautifulSoup(fp,'lxml')
#print(soup.a)#soup.tagName,返回html匹配到第一个tagName标签极其内容
#print(soup.find('div'))#soup.find(tagName)等同于soup.tagName
#print(soup.find('div',class_='song'))#属性定位,找到tagName的class/id 为XXX
#print(soup.select('.song'))#返回列表
#print(soup.select('.tang>ul>li>a'))#层级标签,>表示一个层级
#print(soup.select('.tang>ul a'))#层级标签,空格表示多个层级
#text/string/get_text
#text/get_text获得某个标签内所有的文本内容
#string:只可以获取该标签下的直系文本内容
#print(soup.find_all('div',class_='song')[0].text)
#print(soup.find_all('div',class_='song')[0].string)
#获取标签中的属性值
print(soup.a['href'])