首页 / 知识
过滤掉HTML标签并解析python中的实体
2023-04-13 19:21:00

Filter out HTML tags and resolve entities in python因为正则表达式使我感到恐惧,所以我试图找到一种方法来删除所有HTML标签并从Python中的字符串解析HTML实体。 使用lxml是最适合python的xml / html库。
如果您只想清理html,请查看lxml.html.clean模块 使用BeautifulSoup!这是完美的选择,您将收到可疑美德的标记,并且需要从中获取合理的信息。只需传入原始文本,提取所有字符串标签,然后将它们加入即可。 尽管我同意Lucas的观点,正则表达式并不那么令人恐惧,但我仍然认为您应该使用专门的HTML解析器。这是因为HTML标准足够繁琐(尤其是如果您要随意分析从Internet删除的" HTML"页面),则需要编写大量代码来处理特殊情况。看来python包含一个开箱即用的功能。 您还应该检查TidyLib的python绑定,该绑定可以清除损坏的HTML,从而使任何HTML解析的成功率都更高。 如何解析HTML数据并在解析器的帮助下提取数据? 我会尝试类似《 Dive Into Python》一书中第8.3章所述的作者
如果您使用django,也可以使用 您可能需要比正则表达式更复杂的东西。网页通常带有尖括号,这些尖括号不是标签的一部分,例如:
用正则表达式剥离标签将返回字符串" 5"并处理
作为单个标签并将其剥离。 我建议寻找已经为您完成此工作的已编写代码。我经过搜索发现:http://zesty.ca/python/scrape.html它还可以解析HTML实体。 鉴于人们在这里在其他答案中所表现出的感觉,我想说使用正则表达式可能不是您所处情况的最佳主意。寻找经过尝试和测试的东西,然后将我以前的答案当作证明正则表达式不必那么吓人的证明。 正则表达式并不可怕,但是编写自己的正则表达式来剥离HTML是确保疯狂的必经之路(也行不通)。遵循智慧的道路,并使用许多优秀的HTML解析库之一。 Lucas的示例也被破坏了,因为" sub"不是Python字符串的方法。您必须"导入re",然后调用re.sub(样式,repl,字符串)。但这既不存在也不存在,因为对您问题的正确答案不涉及编写任何正则表达式。 |
最新内容
相关内容
linux下删除用户命令?
linux下删除用户命令?,系统,代码,邮箱,用户组,命令,用户,名称,管理,电脑,账户,删除用户的命令是什么1、userdel-r命令。userdel-r命令可以删除linux的删除所有命令?
linux的删除所有命令?,不了,系统,名称,命令,文件夹,文件,目录,档案,数据,环境,linux的文件和目录的删除命令有哪些?1、Linux删除文件的命令是rlinux删除用什么命令?
linux删除用什么命令?,档案,系统,命令,文件夹,文件,不了,名称,目录,终端,指令,linux删除文件命令rm1、linux删除命令rm-rf命令。具体详情:rm命添加字符串命令linux?
添加字符串命令linux?,情况,名称,文件,位置,名字,地方,连续,信息,命令,内容,Linux下怎么输入连字符?末尾加个\这个符号就能两行。部分命令也linux默认命令删除?
linux默认命令删除?,系统,软件,名称,档案,命令,文件,目录,不了,电脑,文件夹,关于linux的删除命令1、命令格式:rm [选项] 文件… 命令功能:删除一linux下删除命令行?
linux下删除命令行?,系统,数据,命令,文件,名称,百度,环境,不了,档案,文件夹,linux删除文件命令1、linux 删除文件指令:输入rd盘符名:\文件夹名linux删除挂载命令?
linux删除挂载命令?,系统,设备,电脑,信息,管理,网络,名字,密码,文件,命令,linuxyum挂载到目录不能删除吗?1、执行下面的命令转移到yum源目录1clinux退出删除命令行?
linux退出删除命令行?,地址,状态,系统,工作,命令,电脑,名字,管理,信息,文件,linux删除整行命令当然,直接在命令行上输入:vimtutor,就可以学习到Vilinux删除空行命令?
linux删除空行命令?,名称,不了,命令,文件夹,文件,时间,工作,简介,情况,资料,linux如何清除csv文件空行1、linux如何清除csv文件空行?答案如下:首linux删除软件命令?
linux删除软件命令?,软件,系统,命令,不了,名称,数据,文件夹,文件,工具,百度,linux软件卸载命令1、linux卸载软件命令:apt-get,aptitude。Linux软linux删除集群命令?
linux删除集群命令?,软件,管理,工具,平台,工作,系统,技术,数据,公司,产品,在linux里怎么删除grid集群软件1、linux怎么卸载软件呢,下面就让我们linux删除包命令行?
linux删除包命令行?,软件,名称,系统,不了,命令,电脑,工具,文件,文件夹,目录,linux中RPM命令删除软件问题打开linux系统,在linux的桌面的空白处