Beautiful Soup - insert_before() 方法



方法描述

Beautiful Soup 中的 insert_before() 方法在解析树中将标签或字符串插入到其他内容的前面。插入的元素成为该元素的直接前驱。插入的元素可以是标签或字符串。

语法

insert_before(*args)

参数

  • args − 一个或多个元素,可以是标签或字符串。

返回值

此 insert_before() 方法不返回任何新对象。

示例 1

以下示例在给定的 HTML 标记字符串中的 "Excellent" 之前插入文本 "Here is an"。

from bs4 import BeautifulSoup, NavigableString

markup = '<b>Excellent</b> Python Tutorial <u>from TutorialsPoint</u>'
soup = BeautifulSoup(markup, 'html.parser')
tag = soup.b

tag.insert_before("Here is an ")
print (soup.prettify())

输出

Here is an
<b>
   Excellent
</b>
   Python Tutorial
<u>
   from TutorialsPoint
</u>

示例 2

您还可以将标签插入到另一个标签之前。请查看此示例。

from bs4 import BeautifulSoup, NavigableString

markup = '<P>Excellent <b>Tutorial</b> from TutorialsPoint</u>'
soup = BeautifulSoup(markup, 'html.parser')
tag = soup.b
tag1 = soup.new_tag('b')
tag1.string = "Python "
tag.insert_before(tag1)
print (soup.prettify())

输出

<p>
   Excellent
   <b>
      Python
   </b>
   <b>
      Tutorial
   </b>
   from TutorialsPoint
</p>

示例 3

以下代码传递多个字符串以在 <b> 标签之前插入。

from bs4 import BeautifulSoup

markup = '<p>There are <b>Tutorials</b> <u>from TutorialsPoint</u></p>'
soup = BeautifulSoup(markup, 'html.parser')
tag = soup.b

tag.insert_before("many ", 'excellent ')
print (soup.prettify())

输出

<p>
   There are
   many
   excellent
   <b>
      Tutorials
   </b>
   <u>
      from TutorialsPoint
   </u>
</p>
广告

© . All rights reserved.