Beautiful Soup - new_tag() 方法



Beautiful Soup 库中的 new_tag() 方法创建一个新的 Tag 对象,该对象与现有的 BeautifulSoup 对象相关联。您可以使用此工厂方法将新标签附加或插入到文档树中。

语法

new_tag(name, namespace, nsprefix, attrs, sourceline, sourcepos, **kwattrs)

参数

  • name − 新标签的名称。

  • namespace − 新标签的 XML 命名空间的 URI,可选。

  • prefix − 新标签的 XML 命名空间的前缀,可选。

  • attrs − 此标签的属性值的字典。

  • sourceline − 在其源文档中找到此标签的行号。

  • sourcepos − 在 `sourceline` 中找到此标签的字符位置。

  • kwattrs − 新标签的属性值的关键字参数。

返回值

此方法返回一个新的 Tag 对象。

示例 1

以下示例显示了 new_tag() 方法的使用。一个新的 <a> 元素的标签。标签对象使用 href 和 string 属性初始化,然后插入到文档树中。

from bs4 import BeautifulSoup

soup = BeautifulSoup('<p>Welcome to <b>online Tutorial library</b></p>', 'html.parser')
tag = soup.new_tag('a')
tag.attrs['href'] = "www.tutorialspoint.com"
tag.string = "Tutorialspoint"
soup.b.insert_before(tag)
print (soup)

输出

<p>Welcome to <a href="www.tutorialspoint.com">Tutorialspoint</a><b>online Tutorial library</b></p>

示例 2

在以下示例中,我们有一个包含两个输入元素的 HTML 表单。我们创建一个新的输入标签并将其附加到表单标签。

html = '''
   <form>
      <input type = 'text' id = 'nm' name = 'name'>
      <input type = 'text' id = 'age' name = 'age'>
   </form>'''
from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')
tag = soup.form
newtag=soup.new_tag('input', attrs={'type':'text', 'id':'marks', 'name':'marks'})
tag.append(newtag)
print (soup)

输出

<form>
<input id="nm" name="name" type="text"/>
<input id="age" name="age" type="text"/>
<input id="marks" name="marks" type="text"/></form>

示例 3

这里我们在 HTML 字符串中有一个空的 <p> 标签。一个新的标签被插入到其中。

from bs4 import BeautifulSoup
soup = BeautifulSoup('<p></p>', 'html.parser')
tag = soup.new_tag('b')
tag.string = "Hello World"
soup.p.insert(0,tag)
print (soup)

输出

<p><b>Hello World</b></p>
广告

© . All rights reserved.