提问者:小点点

在ATag内找不到字符串


我是一个初学者,所以请客气点。 我正在使用Beautiful Soup解析一些HTML。 我找到了一个标签

a_tag = <a href="sicc2020/results?pid=31022">S<span class="notCompact">hakira</span> Mirfin</a>

我想把“s”,“hakira”和“mirfin”从这个字符串中去掉。 然而,当我使用。string函数时,它只说none。 我可以得到“哈基拉”部分,但我不能得到“S”或“Mirfin”。

print(a_tag)
>><a href="sicc2020/results?pid=31022">S<span class="notCompact">hakira</span> Mirfin</a>

print(a_tag).string
>> None

print(a_tag).find('span').string
>>hakira

如有任何帮助,我们将不胜感激!

谢谢。


共2个答案

匿名用户

只要这样做:

var text_array;
var children = document.getElementById(id).childNodes;

text_array.push(document.getElementById(id).textContent)

  for (var i = 0; i < children.length; i++) {
    text_array.push(children[i].textContent)
  }

如果要删除所有内容:

var children = document.getElementById(id).childNodes;

document.getElementById(id).textContent = ""

  for (var i = 0; i < children.length; i++) {
    children[i].textContent = ""
  }

如果它对你的“S”和“Mirfin”不起作用,你可以这样做:

$("#id")
.clone()    //clone the element
.children() //select all the children
.remove()   //remove all the children
.end()  //again go back to selected element
.text();

匿名用户

你可以试试:

from bs4 import BeautifulSoup
html_doc="""<a href="sicc2020/results?pid=31022">S<span class="notCompact">hakira</span> Mirfin</a>"""

soup = BeautifulSoup(html_doc, 'lxml')
text = soup.find("a").get_text(",", strip=True)

print(text)

输出将为:

S,hakira,Mirfin