【问题标题】:Assigning bs4.element.Tag to a variable and modifying it将 bs4.element.Tag 分配给变量并对其进行修改
【发布时间】:2020-06-29 14:12:38
【问题描述】:

我有bs4.element.Tag(OriginalElement),我将其分配给一个变量,然后尝试删除分配变量中的一些标签,然后使用原始标签元素(OriginalElement) 将其分配给另一个变量,然后尝试删除其他一些元素,但第一个更改反映在原始标签元素中(OriginalElement),我想知道是否有其他方法可以解决此问题?

代码sn-p:

beforeEl = OriginalElement
if(beforeEl('ins')):
    [r.extract() for r in beforeEl('ins')]
    writeFile.write("Before    :: "+str(beforeEl.text).replace("\n"," ").replace("\t"," ")+"\n")
afterEl = OriginalElement
if(afterEl('del')):
    [q.extract() for q in afterEl('del')]
    writeFile.write("After     :: "+str(afterEl.text).replace("\n"," ").replace("\t"," ")+"\n")

【问题讨论】:

    标签: python python-3.x python-2.7 beautifulsoup


    【解决方案1】:

    一个肮脏的解决方法可能是

    代码 sn-p:

    beforeEl = bs4.BeautifulSoup(str(OriginalElement),features="lxml")
    if(beforeEl('ins')):
        [r.extract() for r in beforeEl('ins')]
        writeFile.write("Before    :: "+str(beforeEl.text).replace("\n"," ").replace("\t"," ")+"\n")
    afterEl = bs4.BeautifulSoup(str(OriginalElement),features="lxml")
    if(afterEl('del')):
        [q.extract() for q in afterEl('del')]
        writeFile.write("After     :: "+str(afterEl.text).replace("\n"," ").replace("\t"," ")+"\n")
    

    但我想知道解决此问题的有效方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 2023-04-05
      相关资源
      最近更新 更多