Beautiful Soup 简明教程
Beautiful Soup - find_next() Method
Method Description
Beautiful soup 中的 find_next() 方法将找到与给定条件匹配的第一个 PageElement,并且出现在文档中较后的部分。返回文档中当前标签后面的第一个标签或 NavigableString。与所有其他 find 方法一样,此方法具有以下语法 -
Parameters
-
name − 对标记名称的筛选。
-
attrs − 对属性值进行筛选的字典。
-
string - 具有特定文本的 NavigableString 的过滤器。
-
kwargs − 对属性值进行筛选的字典。
Example 1
此示例使用了带以下脚本的网页 index.html
<html>
<head>
<title>TutorialsPoint</title>
</head>
<body>
<h1>TutorialsPoint</h1>
<form>
<input type = 'text' id = 'nm' name = 'name'>
<input type = 'text' id = 'age' name = 'age'>
<input type = 'text' id = 'marks' name = 'marks'>
</form>
</body>
</html>
我们首先找到 <form> 标签,然后再找到其旁边的标签。
from bs4 import BeautifulSoup
fp = open("index.html")
soup = BeautifulSoup(fp, 'html.parser')
tag = soup.h1
print (tag.find_next())
Output
<form>
<input id="nm" name="name" type="text"/>
<input id="age" name="age" type="text"/>
<input id="marks" name="marks" type="text"/>
</form>
Example 2
在这个示例中,我们首先找到 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_next())