python下载图片小程序改进

来源:互联网 发布:win7网络共享 编辑:程序博客网 时间:2024/04/30 02:56

这个是在之前的小程序基础上进行了一点改进,增加了cookie

#coding=utf-8'''Created on 2015年4月25日@author: frozen cloud'''import urllib,urllib2,os,cookielibimport re#网站地址SITE_URL = 'http://www.netbian.com'#下载的目录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):    #设置一个cookie的实例    ck = cookielib.CookieJar()    #cookieJar作为参数,获得一个opener的实例    opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(ck))    #伪装成一个正常的浏览器,避免有些web服务器拒绝访问。    opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')]    #以带cookie的方式访问页面    op=opener.open(url)    #读取页面源码    page = op.read()    #获取页面编码,如果是GBK,则进行一次转换    reg = re.findall(r'<meta charset="gbk" />',page)    if reg:        page = page.decode('gbk')    return page.encode('utf-8')def downloadImage():    #读取页面源码    htmlPage= getHtml(url)    #找到所有图片    img = re.findall(r'<img src="[\s\S]+?"\s+data-src="(\S+?)"' ,htmlPage)    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__':    #页面地址    url = 'http://www.netbian.com/meinv'    downloadImage()    


0 0
原创粉丝点击