解析 CSS 里面的图片 URL,并批量下载
解析 CSS 里面的图片 URL,并批量下载
比如获取 CSS 文件里面的 background-image: url(../images/tree-line.png);
的 ../images/tree-line.png
,将其组装为 https://www.123.com/images/tree-line.png
并下载
实现
import re
import urllib
import urllib.request
def main():
with open('./style.css', encoding='utf-8') as f:
css = f.read()
# url(../images/52.png)
image_list = re.findall(r"url\((.+?)\)", css)
for i in image_list:
# print(i)
image_url = i.replace("../", base_url)
# image_url = base_url + i
file_name = image_url.split("/")[-1]
print(image_url, file_name)
get_image(image_url, file_name)
# 解析 CSS 文件图片,并批量下载
def get_image(url, name):
try:
req = urllib.request.Request(url)
res = urllib.request.urlopen(req)
get_img = res.read()
with open(file_path + name, 'wb') as fp:
fp.write(get_img)
fp.close()
print(file_path + name + '下载完成')
except:
print('访问异常!')
if __name__ == "__main__":
base_url = "https://www.123.com/images/"
file_path = 'D:\\images\\'
main()