1

我是一个新手,在使用 BeautifulSoup 从页面中获取 html 后无法删除 span 标签。尝试使用“del links['span'] 但它返回了相同的结果。使用 getText() 的一些尝试也失败了。显然我做错了应该很容易的事情。帮助?

from bs4 import BeautifulSoup
import urllib.request
import re
url = urllib.request.urlopen("http://www.python.org")
content = url.read()
soup = BeautifulSoup(content)
for links in soup.find_all("span", text=re.compile(".com")):
    del links['class']
    print(links.)
4

2 回答 2

3

使用该.unwrap()方法删除标签,保留其内容:

for links in soup.find_all("span", text=re.compile(".com")):
    links.unwrap()

print soup
于 2013-06-12T13:47:34.203 回答
2

根据您要执行的操作,您可以使用unwrap删除标签(实际上是用其内容替换元素)或decompose删除元素及其内容。

于 2013-06-12T13:51:40.560 回答