2025年3月14日 星期五 甲辰(龙)年 月十三 夜 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

urllib中urlparse使用技巧以及iter_content图片边下边存到硬盘使用

时间:12-07来源:作者:点击数:18

本文介绍如何使用Python的urllib.parse模块解析URL,提取并去除查询参数,仅保留URL的基本部分。同时,演示了如何利用requests库下载图片,并保存到本地指定目录。文章还包含了处理多级目录和创建目录结构的代码示例。

  • import os,requests
  • from urllib.parse import urlparse
  • # 如果获取的链接地址如下,但是我们只想要问号前面的怎么处理
  • url = 'http://i2.chuimg.com/657f715d4ba2439e91e9e67f1c7026b9_1125w_1488h.jpg?imageView2/1/w/215/h/136/interlace/1/q/90'
  • # 以下网址为多层级目录情况
  • # url = 'https://s.chuimg.com/simpleicons/twitter.svg'
  • html = urlparse(url)
  • # ParseResult(scheme='http', netloc='i2.chuimg.com',
  • # path='/657f715d4ba2439e91e9e67f1c7026b9_1125w_1488h.jpg',
  • # params='', query='imageView2/1/w/215/h/136/interlace/1/q/90', fragment='')
  • print(html)
  • full_url = '%s://%s%s'%(html.scheme,html.netloc,html.path)
  • print(full_url) # http://i2.chuimg.com/657f715d4ba2439e91e9e67f1c7026b9_1125w_1488h.jpg
  • # 图片名字
  • file_name = html.path[1:]
  • print(file_name) # 657f715d4ba2439e91e9e67f1c7026b9_1125w_1488h.jpg
  • resp = requests.get(full_url)
  • # 初始化下载图片目录
  • image_dir = os.path.join(os.curdir,'images')
  • print(image_dir) # .\images
  • file_path = os.path.join(image_dir,file_name)
  • print(file_path) # .\images\657f715d4ba2439e91e9e67f1c7026b9_1125w_1488h.jpg
  • file_menu = os.path.dirname(file_path)
  • print(file_menu) #去掉文件名,返回目录 .\images
  • # makedirs可以创建多级目录,例如:.\images\simpleicons
  • # 而mkdir只能创建一级目录
  • if not os.path.isdir(file_menu):
  • os.makedirs(file_menu)
  • with open(file_path,'wb')as f:
  • # 边下边存到硬盘,默认requests是下载到内存中,最后再存到硬盘
  • for funk in resp.iter_content(1024):
  • f.write(funk)
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐