从富文本(html字符串)中获取图片,从html富文本中提取纯文本
时间: 2023-10-11 21:13:52 浏览: 69
从富文本中提取图片可以使用正则表达式来匹配<img>标签,然后通过解析标签属性获取图片地址。示例代码如下:
```python
import re
html_text = '<p>这是一张图片</p><img src="https://example.com/image.png" alt="图片">'
# 匹配<img>标签
img_tags = re.findall(r'<img.*?>', html_text)
for img_tag in img_tags:
# 解析src属性获取图片地址
src = re.search(r'src="(.*?)"', img_tag).group(1)
print(src)
```
从富文本中提取纯文本可以使用Python内置的html模块进行解析,然后通过遍历解析后的节点树获取文本内容。示例代码如下:
```python
from html.parser import HTMLParser
class MyHTMLParser(HTMLParser):
def __init__(self):
super().__init__()
self.text = ''
def handle_data(self, data):
self.text += data.strip()
html_text = '<p>这是一张图片</p><img src="https://example.com/image.png" alt="图片">'
parser = MyHTMLParser()
parser.feed(html_text)
print(parser.text)
```
这里定义了一个继承自HTMLParser的子类MyHTMLParser,并重写了其中的handle_data()方法,用于处理节点的文本内容。在解析过程中,遇到文本节点时,会将其内容添加到MyHTMLParser的text属性中。最终输出的结果即为解析后的纯文本。