代码之家  ›  专栏  ›  技术社区  ›  Pfalbaum

从文本文件中删除BeautifulSoup标记

  •  0
  • Pfalbaum  · 技术社区  · 8 年前

    我有 bs4 安装。如何从文本文件中删除HTML标记?简而言之,我有一个脚本,可以将ESRI元数据项从该元数据的HTML页面写入文本文件,对于其中几个项,HTML格式代码也是出于某种原因编写的。如何使用BeautifulSoup删除此代码?看起来很邋遢。

    此附件的描述项包含HTML: Textfile

    2 回复  |  直到 8 年前
        1
  •  2
  •   eLRuLL    8 年前

    使用 w3lib library 为此,无需 bs4 :

    from w3lib.html import remove_tags
    
    text = "your text"
    new_text = remove_tags(text)
    
        2
  •  0
  •   Pfalbaum    8 年前

    @eLRuLL谢谢,这对移除标签非常有效。然而,我将使用此脚本进行的一些元数据描述非常冗长,将文本作为变量输入似乎不是一个好主意。因此,我尝试了以下方法:

    import arcpy
    import arcpy_metadata as md
    from w3lib.html import remove_tags
    ws = r'Database Connections\ims to Plainfield.sde\gisedit.DBO.Tax_Map_LY\gisedit.DBO.Tax_Map_Parcels_LY'
    metadata = md.MetadataEditor(ws)
    def meta2txt():
        abstract = metadata.abstract
        if abstract:
            w3lib.html.remove_tags(abstract)
    

    脚本运行,但HTML仍然存在。