如何提取景点信息内容中的所有图片呢?
1、使用re.findall('<img src="(.*?)"/>', str1, re.S)
import re
str1 = '<p>熊猫基地位于四川省成都市</p><p><img src="/media/upload/2022/05/26/4a44d601-63d7-4c8d-9759-a6d569a58ef6.png"/>'
result = re.findall('<img src="(.*?)"/>',str1,re.S)
print(result)
结果为:
['/media/upload/2022/05/26/4a44d601-63d7-4c8d-9759-a6d569a58ef6.png']
注意,img
和src
之间不能有其他内容,并且是"/>
,"
和/>
没有空格。
**如果没有匹配的内容,则返回空列表。**如下所示:
str2 = '<p>朱德纪念馆位于四川省泸州市况场镇</p><p>很有纪念意义,值得参观</p><p> </p>'
result = re.findall('<img src="(.*?)"/>',str2,re.S)
print(result) #[]
2、使用 re.findall(‘src=“(.*?)”’,str3,re.S)
如果img
标签和src
属性之间还有其他属性, 则你也可以直接取src
, 如:
str3 = '<p>熊猫基地位于四川省成都市</p><p><img alt="" src="/media/upload/2022/05/26/4a44d601-63d7-4c8d-9759-a6d569a58ef6.png" style="height:533px; width:800px" /></p><p>憨憨厚厚的熊猫</p><p><img alt="" src="/media/upload/2022/05/26/4b3c2c17-8e0b-42f2-a660-bd9e01ba2be2.jpg" style="height:452px; width:680px" /></p><p> </p>'
result = re.findall('src="(.*?)"',str3,re.S)
print(result)
结果如下:
['/media/upload/2022/05/26/4a44d601-63d7-4c8d-9759-a6d569a58ef6.png', '/media/upload/2022/05/26/4b3c2c17-8e0b-42f2-a660-bd9e01ba2be2.jpg']