python - 从 Python 中的大字符串中删除编码的 HTML 标记
问题描述
我有一个带有“描述”键的 JSON 文件,里面有很多 HTML 标签。我想抹去它们。它们被编码,例如:
<ul>
而不是<ul>
我试过做text.replace('<.*?>','')
,但它不起作用。
我也试过用 BeautifulSoup 做:
text = soup.get_text()
但它也不起作用(它只是解码 html 标签)最后,我尝试过这样做:
soup = BeautifulSoup(text)
text = soup.get_text()
text = text.replace('<.*?>','')
结合这两个代码,但标签不会被删除......
我现在在“文本”变量中拥有的内容(在使用解码 html 标签的漂亮汤之后):
"description":"</li></ul><p> </p><p><strong>TESTING AND QUALITY</strong></p><ul><li>....."
我想在文本变量中拥有什么:
"description":"TESTING AND QUALITY"
解决方案
您可以尝试使用正则表达式而不是replace
丢弃 HTML 标签:
import re
soup = BeautifulSoup(text)
text = soup.get_text()
text = re.sub(r'<.*?>', '', text)
推荐阅读
- java - 关于将值传递给方法的困惑?
- html - 我无法并排显示 div
- python - Python API JSON 上传文件 multipart/form-data 有边界
- excel - 从 bash 写入时,日期/时间在 csv 中不正确
- javascript - joi:比较两个可选日期
- python - 每当我尝试它们时,我的不和谐机器人命令都不起作用(无论有没有语法)机器人不说话
- selenium - 使用 Robot Framework 更改下载目录
- python - 如何同时使用 FastAPI 和 Spacy 并行处理多个请求
- powershell - 如何找到每个 ADGroupMember 用户的经理详细信息
- java - 卡路里计数器应用程序 - 尝试将 FoodProduct 添加到膳食时出现异常