我想提取文件扩展名(如果它存在于网址中)(试图确定哪些链接指向我不希望的扩展名列表,例如.jpg
,.exe
等等)。
因此,我想从以下URL中提取www.example.com/image.jpg
扩展名jpg
,并处理没有扩展名的情况,例如www.example.com/file
(即不返回任何内容)。
我不知道如何实现它,但是我想到的一种方法是在最后一个点之后获取所有内容,如果有扩展名,则可以让我向上查找该扩展名,如果没有,例如www.example.com/file
它会返回com/file
(给定的不在我的排除文件扩展名列表中,可以)。
使用我不知道的软件包可能会有另一种更好的方式,它可以识别什么是/不是实际的扩展。(即应对URL实际上没有扩展名的情况)。
该urlparse
模块(urllib.parse
在Python 3中)提供了用于处理URL的工具。尽管它没有提供从URL提取文件扩展名的方法,但可以通过将其与结合使用来实现os.path.splitext
:
from urlparse import urlparse
from os.path import splitext
def get_ext(url):
"""Return the filename extension from url, or ''."""
parsed = urlparse(url)
root, ext = splitext(parsed.path)
return ext # or ext[1:] if you don't want the leading '.'
用法示例:
>>> get_ext("www.example.com/image.jpg")
'.jpg'
>>> get_ext("https://www.example.com/page.html?foo=1&bar=2#fragment")
'.html'
>>> get_ext("https://www.example.com/resource")
''
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句