用法和Xpath一样,都是基于标签搜索网页源码内容。仅输出格式和写法上的不同,实际效果和应用场景相差不大。
目录
实例化对象
这里使用lxml解析器,把网页源码加载为beautifulsoup对象。可以用本地的html文件或爬取的网页源码传入实例化函数进行解析。
from bs4 import BeautifulSoup
import urllib
url = 'http://www.baidu.com'
data = urllib.request.urlpen(url).read().decode("utf-8","ignore")
# 用lxml解析器把源码data实例化为beautifulsoup对象
soup = BeautifulSoup(data, 'lxml')
标签名定位
直接调用标签名进行定位,返回第一个匹配结果
from bs4 import BeautifulSoup
fh_data = open('test.html', encoding='utf-8')
soup = BeautifulSoup(fh_data, 'lxml')
# 直接调用需要定位的标签
print(soup.p) # 定位第一个<p>标签
print(soup.li) # 定位第一个li标签