python下载图片实现方法(超简单)

发布时间 - 2026-01-11 02:26:17    点击率:

我们有时候会需要在网上查找并下载图片,当数量比较少的时候,点击右键保存,很轻松就可以实现图片的下载,但是有些图片进行了特殊设置,点击右键没有显示保存选项,或者需要下载很多图片,这样的情况,写一段Python爬虫代码就可以轻松解决!

一、页面抓取

#coding=utf-8
  import urllib
  def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html
  html = getHtml("https://tieba.baidu.com/p/5582243679")
  print html

页面数据抓取过程定义了getHtml()函数,其作用是给getHtml()传递一个网址,最终进行整个页面的下载。

二、页面数据筛选

import re
  import urllib
  def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html
  def getImg(html):
    reg = r'src="(.+?\.jpg)" pic_ext'
    imgre = re.compile(reg)
    imglist = re.findall(imgre,html)
    return imglist
  html = getHtml("https://tieba.baidu.com/p/5582243679")
  print getImg(html)

页面数据筛选中,定义了一个新的函数getImg(),该函数的功能是筛选出.jpg格式的图片地址。

三、图片下载

#coding=utf-8
  import urllib
  import re
  def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html
  def getImg(html):
    reg = r'src="(.+?\.jpg)" pic_ext'
    imgre = re.compile(reg)
    imglist = re.findall(imgre,html)
    x = 0
    for imgurl in imglist:
      urllib.urlretrieve(imgurl,'%s.jpg' % x)
      x+=1
  html = getHtml("https://tieba.baidu.com/p/5582243679")
  print getImg(html)

通过for循环获得所有符合条件的图片网址,并采用urllib.urlretrieve()方法,将远程数据下载到本地,并重新命名!

以下是补充

如下所示:

import urllib.request
response = urllib.request.urlopen('https://www./g/500/600')
cat_img = response.read()

with open('cat_500_600.jpg','wb') as f:
 f.write(cat_img)

urlopen()括号里既可以是一个字符串也可以是一个request对象,当传入字符串的时候会转换成一个request对象,因此代码

response = urllib.request.urlopen('https://www./g/500/600') 也可以写成

req = urllib.request.Request('https://www./g/500/600')

1、response = urllib.request.urlopen(req)
2、responce还有geturl,info,getcode方法

代码with open('cat_500_600.jpg','wb') as f:

f.write(cat_img)等价于

1、f = open('cat_500_600.jpg','wb')

2、try:

3、 data = f.write(cat_img)

4、finally:

5、 f.close()

以上这篇python下载图片实现方法(超简单)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# python下载图片  # python 解决flask 图片在线浏览或者直接下载的问题  # Python实现使用request模块下载图片demo示例  # 详解Python下载图片并保存本地的两种方式  # Python爬虫获取图片并下载保存至本地的实例  # Python3.x爬虫下载网页图片的实例讲解  # python抓取网站的图片并下载到本地的方法  # Python爬虫实现百度图片自动下载  # 基于Python下载网络图片方法汇总代码实例  # 是一个  # 右键  # 给大家  # 就可以  # 下载图片  # 希望能  # 所示  # 这篇  # 既可  # 转换成  # 小编  # 符合条件  # 比较少  # 大家多多  # 进行了  # 在网上  # 括号里  # page  # html  # urlopen 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 制作企业网站建设方案,怎样建设一个公司网站?  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Firefox Developer Edition开发者版本入口  java ZXing生成二维码及条码实例分享  千库网官网入口推荐 千库网设计创意平台入口  Python3.6正式版新特性预览  如何用狗爹虚拟主机快速搭建网站?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  js代码实现下拉菜单【推荐】  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  JavaScript中的标签模板是什么_它如何扩展字符串功能  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  MySQL查询结果复制到新表的方法(更新、插入)  西安专业网站制作公司有哪些,陕西省建行官方网站?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel如何升级到最新版本?(升级指南和步骤)  C++用Dijkstra(迪杰斯特拉)算法求最短路径  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何基于云服务器快速搭建网站及云盘系统?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  HTML 中如何正确使用模板变量为元素的 name 属性赋值  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  zabbix利用python脚本发送报警邮件的方法  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  如何在宝塔面板中创建新站点?  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  活动邀请函制作网站有哪些,活动邀请函文案?  图册素材网站设计制作软件,图册的导出方式有几种?  php结合redis实现高并发下的抢购、秒杀功能的实例  Java类加载基本过程详细介绍  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  如何快速使用云服务器搭建个人网站?  香港服务器租用费用高吗?如何避免常见误区?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  如何在 React 中条件性地遍历数组并渲染元素