一、方法描述
在 BeautifulSoup 库中,insert_after()
方法会在解析树中的某个元素之后立即插入标签或字符串。插入的元素成为当前元素的直接后继。插入的元素可以是标签或字符串。
二、语法
insert_after(*args)
三、参数
四、返回值
insert_after()
方法不会返回任何新的对象。
五、示例
示例 1
下面的代码在第一个 <b>
标签后插入了一个字符串 "Python"。
from bs4 import BeautifulSoup
markup = '<p>An <b>Excellent</b> Tutorial <u>from Yoagoa</u>'
soup = BeautifulSoup(markup, 'html.parser')
tag = soup.b
tag.insert_after("Python ")
print(soup.prettify())
输出:
<p>
An
<b>
Excellent
</b>
Python
Tutorial
<u>
from Yoagoa
</u>
</p>
示例 2
您也可以在另一个标签之前插入一个标签。请看下面的示例。
from bs4 import BeautifulSoup, NavigableString
markup = '<P>Excellent <b>Tutorial</b> from Yoagoa</p>'
soup = BeautifulSoup(markup, 'html.parser')
tag = soup.b
tag1 = soup.new_tag('b')
tag1.string = "on Python "
tag.insert_after(tag1)
print(soup.prettify())
输出:
<p>
Excellent
<b>
Tutorial
</b>
<b>
on Python
</b>
from Yoagoa
</p>
示例 3
多个标签或字符串可以在某个特定标签之后插入。
from bs4 import BeautifulSoup, NavigableString
markup = '<P>Excellent <b>Tutorials</b> from Yoagoa</p>'
soup = BeautifulSoup(markup, 'html.parser')
tag = soup.p
tag1 = soup.new_tag('i')
tag1.string = 'and Java'
tag.insert_after("on Python", tag1)
print(soup.prettify())
输出:
<p>
Excellent
<b>
Tutorials
</b>
from Yoagoa
</p>
on Python
<i>
and Java
</i>