我需要一个可在网站源代码中找到图像的正则表达式。到目前为止,我有:
images = re.findall(r'src=[\"|\']([^\"|\']+)[\"|\']',webpage.decode())
images.sort()
print (f'[+] {len(images)} images Found:')
for image in images:
print(image)
这一直在寻找以下格式的图像:
<img src="2001-a-space-odyssey.JPG"/>
<img src="http://www.example.com/content/icon.gif"/>
但找不到以下格式的图像:
<form action="example.jpg">
<!-- <img src="big.jpg" /> -->
background-image:url("xine.png");
我需要一个正则表达式来查找所有这些,但是,我不希望像
png|jpeg|gif
这样的表达式。
最佳答案
如果您对图像格式不那么在意,那么下面的表达式应该可以很好地完成您的工作:
pattern = "[\"|\'].*\.(?i:jpg|gif|png|bmp)[\"|\']"
images = re.findall(pattern,webpage.decode())
我在这里我会忽略这种情况。
编辑:
pattern : "[\=,\(][\"|\'].[^\=\"]+\.(?i:jpg|gif|png|bmp)[\"|\']"
注意:从匹配中删除前两个字符和最后一个字符应提供所需的输出
您可以在这里查看各种图像格式:Image file formats
希望这可以帮助 :)
关于python - 正则表达式以查找各种格式/标签的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47554080/