一、方法描述
在 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>