一、方法描述
在 BeautifulSoup 库中,find_previous() 方法从当前 PageElement 开始向前查找文档,并找到第一个与给定条件匹配的 PageElement。此方法返回紧接在当前标签之前的第一个标签或 NavigableString。与其他查找方法一样,此方法有如下语法:
二、语法
find_previous(name, attrs, string, **kwargs)
三、参数
-
-
-
string:一个过滤器,用于带有特定文本的 NavigableString。
-
四、返回值
find_previous() 方法返回一个 Tag 或 NavigableString 对象。
五、示例
示例 1
在下面的示例中,我们尝试查找 <body> 标签之前的对象。结果发现是 <title> 元素。
from bs4 import BeautifulSoup
fp = open("index.html")
soup = BeautifulSoup(fp, 'html.parser')
tag = soup.body
print(tag.find_previous())
输出:
<title>Yoagoa</title>
示例 2
在本例所用的 HTML 文档中有三个 <input> 元素。下面的代码定位了 name 属性为 age 的 <input> 元素,并查找其前面的对象。
from bs4 import BeautifulSoup
fp = open("index.html")
soup = BeautifulSoup(fp, 'html.parser')
tag = soup.find('input', {'name':'age'})
print(tag.find_previous())
输出:
<input id="nm" name="name" type="text"/>
示例 3
在 <title> 元素之前的元素是 <head> 元素。
from bs4 import BeautifulSoup
fp = open("index.html")
soup = BeautifulSoup(fp, 'html.parser')
tag = soup.find('title')
print(tag.find_previous())
输出:
<head>
<title>Yoagoa</title>
</head>