Python BeautifulSoup new_标记无法插入数据-*属性
我一直在尝试在我的汤中插入一个新的HTML标记,但不知道如何继续。问题是我希望标记具有“数据切换”属性,但BeautifulSoup似乎无法处理此问题Python BeautifulSoup new_标记无法插入数据-*属性,python,beautifulsoup,Python,Beautifulsoup,我一直在尝试在我的汤中插入一个新的HTML标记,但不知道如何继续。问题是我希望标记具有“数据切换”属性,但BeautifulSoup似乎无法处理此问题 In [79]: tag = soup.new_tag("li") In [80]: tag Out[80]: <li></li> In [81]: tag2 = soup.new_tag("a") In [82]: tag.append(tag2) In [83]: tag Out[83]: <li>
In [79]: tag = soup.new_tag("li")
In [80]: tag
Out[80]: <li></li>
In [81]: tag2 = soup.new_tag("a")
In [82]: tag.append(tag2)
In [83]: tag
Out[83]: <li><a></a></li>
[79]中的:tag=soup.new_标签(“li”)
In[80]:标记
出[80]:
在[81]中:tag2=soup.new_标签(“a”)
在[82]中:tag.append(tag2)
In[83]:标记
Out[83]:)声明“某些属性,如HTML5中的data-*属性,其名称不能用作关键字参数的名称”,并建议使用attrs={“data foo”:“value”}。关键是它确实适用于某些方法(例如:find_all),但不适用于new_tag()
[97]中的:tag2=soup.new_标记(“a”,attrs={“数据切换”:“pill”})
In[98]:tag2
出[98]:
这是一个已知的缺陷/限制还是我遗漏了什么?
任何暗示都感谢 您的属性包含破折号,因此您需要使用[]
>>> tag2 = soup.new_tag("a")
>>> tag2["data-toggle"] = "pill"
>>> tag2
<a data-toggle="pill"></a>
>tag2=soup.new_标签(“a”)
>>>tag2[“数据切换”]=“药丸”
>>>tag2
您还可以执行以下操作:
>>> tag2.attrs["data-toggle"] = "pill"
>>> tag2
<a data-toggle="pill"></a>
>>tag2.attrs[“数据切换”]=“避孕药”
>>>tag2
哇,这很简单。。。我总是试图把事情复杂化。谢谢!:)
>>> tag2 = soup.new_tag("a")
>>> tag2["data-toggle"] = "pill"
>>> tag2
<a data-toggle="pill"></a>
>>> tag2.attrs["data-toggle"] = "pill"
>>> tag2
<a data-toggle="pill"></a>