下载图片的小程序
来源:互联网 发布:逻辑 知乎 编辑:程序博客网 时间:2024/05/01 13:44
一直对python很感兴趣,是接触过不多的语言中唯一有心动感觉到。虽然工作中使用过,但是使用的很简单,主要都是用python进行文本匹配,对正则表达式的要求更高一些。
一直希望能提升自己的这一项技能,python让编程更加简单。这也是我对编程这个事情的一贯看法,未来,甚至是现在已经开始了——程序不再是算法+数据结构,而是模块。开发人员也将两极分化,制作模块的工具级开发者,和使用模块的应用级开发者。这种分化就像理论物理和应用物理的分化一样。对于应用开发者的门槛极低,只需要将已有模块进行组装即可,如果模块不满足需求,模块开发者对模块进行升级。
python这个语言有这样的意思,让编程的门槛变得低很多。对于一些类型的问题有很强的解决能力。可以被归类为优雅的语言一族里面。
下面是写了一个简单的下载图片的程序,代码都加了注释,非常简单,容易理解。
#coding=utf-8'''Created on 2015年4月25日@author: frozen cloud'''import urllib,urllib2,osimport reimport __main__#网站地址SITE_URL = 'http://www.netbian.com'#页面地址url = 'http://www.netbian.com/meinv'#下载的目录,当前目录下的meinv子文件夹myPath = os.path.join(os.getcwd(),'meinv')#在当前目录下创建meinv文件夹def createDirectory(dirName): if not os.path.isdir(myPath): os.mkdir(myPath) return os.path.join(myPath,dirName) def getHtml(url): #打开并读取url内容 page = urllib2.urlopen(url, None, 5000).read() #获取页面编码,如果是GBK,则进行一次转换 reg = re.findall(r'<meta charset="gbk" />',page) if reg: page = page.decode('gbk') return page.encode('utf-8')def downloadImage(): #获取整个html页面源码 html = getHtml(url) #找到所有图片 img = re.findall(r'<img src="[\s\S]+?"\s+data-src="(\S+?)"' ,html) for img_url in img : #图片地址 img_url = SITE_URL + img_url #图片名称 img_name = re.findall(r'http://\S+/(\w+?\.jpg)',img_url) #下载图片 urllib.urlretrieve(img_url, createDirectory(img_name[0])) if __name__=='__main__': downloadImage()
这只是一个简单的程序,如果仔细分析,制作成网络爬虫式的程序还有很多地方需要修改。
比方说爬虫的基本特点就是穷举检索URL,而一些必要的特征也没有进行添加,如伪装浏览器设置请求报文头等。
未来有机会我会进一步完善的。
0 0
- 下载图片的小程序
- 一个下载图片的小程序
- php 批量下载图片的一个小程序
- php 批量下载图片的一个小程序
- python下载图片小程序改进
- 随便写的一个python小程序,从网页中下载图片
- 在win10利用Python3.6编写批量下载图片的小程序
- 因为下载图片太久,所以写了个下在多张图片的小程序
- 计算图片亮度的matlab小程序
- 把文字变成图片的小程序
- 图片保存到数据库的小程序
- 随机出现的图片小程序
- 小程序的swiper不显示图片
- 图片保存到数据库的小程序
- 小程序图片上传
- 小程序图片预览
- 异步下载图片小项目中遇到的问题总结
- 小爬虫——下载给定网页上的图片
- android开发之布局
- Android 之 下拉框(Spinner)的简单使用
- java语言实现创建型设计模式—工厂方法模式
- Linux 进程管理与调度剖析
- 随想录(无均衡负载的smp os设计)
- 下载图片的小程序
- 手动进行冷备份
- Spring 的 form表单 之 checkbox
- shiro过滤器过滤属性含义
- Android ListView异步加载图片错位问题解析
- 基于Spring框架的Shiro配置
- 第四章实验3
- 如何查看openCV源代码
- freemarker常见语法大全