前面已经学习了怎么下载图片以及怎么下载多张图片,这仅仅只是一个开始,后面咱们下载的图片会比这些多得多,因此我但愿我下载的图片能分门别类的保存,我不喜欢一打开个人主目录就被一大堆图片刷屏,因此,我须要在程序中建立文件夹来保存我下载的图片
python中对文件,对目录的操做有不少种,可是咱们如今用不到这么多,咱们如今要作的仅仅是使用python来建立一个文件夹,这里给你们一个网址,包含了大部分的文件操做,有兴趣能够看一下:
http://www.runoob.com/python/python-files-io.html
其实不看也没什么问题,咱们使用到的只是其中的 mkdir 方法而已
在python中,咱们使用os模块的mkdir()方法建立一个新的目录
先来看看函数原型,仍是help命令 help(os.mkdir)
html
咱们能够看到,mkdir 有两个参数
1. path 新目录的路径+名称
2. mode 是该目录的权限
其中 [ ] 括起来的是可选的参数,默认为0777
咱们来看看怎么建立一个目录python
#!/usr/bin/env python # -*- coding: UTF-8 -*- __author__ = '217小月月坑' # os是系统库,引入这个库可使用系统的命令 import os # 在当前目录下建立文件,haha是目录名 os.mkdir('haha') # 在指定的目录下建立文件,r''使字符转义,hehe是目录名 os.mkdir(r'/home/ym/hehe')
这只是最简单的功能,咱们要作的要比这个复杂一些
极视界网站上的图片是按相册来存放的,因此为了能更加有序整齐的存放图片,咱们须要以相册的名字来存放文件夹
这就要求咱们先在极视界首页的网页源码中获取相册的名字,而且以这个名字来建立文件夹
这里仍是重复前面所作的事情,分析源码加入RE,可是为了加深印象,最好仍是本身再走一遍流程
最终实现的代码是这样的
函数
#!/uer/bin/env python # -*- coding: UTF-8 -*- __author__ = '217小月月坑' ''' 获取网页源码中的相册名字并用这个名字建立文件夹 ''' import urllib2 import re import os url = 'http://product.yesky.com/more/506001_31372_photograph_1.shtml' user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0' headers = {'User-Agent':user_agent} try: request = urllib2.Request(url,headers=headers) response = urllib2.urlopen(request) conents = response.read().decode("gbk") # RE获取相册首页和相册名字 pattern = re.compile(r'<dt><a href="(.*?)" title="(.*?)"',re.S) items = re.findall(pattern,conents) for item in items: print item[0],item[1] # 设置文件夹的路径,做为参数传给mkdir函数使用,item[1]是相册名字 path = r'/home/ym/test/'+item[1] # 建立文件夹 os.mkdir(path) except urllib2.URLError,e: if hasattr(e,"code"): print e.code if hasattr(e,"reason"): print e.reason