zoukankan      html  css  js  c++  java
  • python下载文件(图片)源码,包含爬网内容(爬url),可保存cookie

    #coding=utf-8
    '''
    Created on 2013-7-17

    @author: zinan.zhang
    '''

    import re
    import time
    import httplib2
    import urllib
    from bs4 import BeautifulSoup

    #路径
    savePath = 'F://TDDOWNLOAD//aNO.4//'

    #获取url
    def url_xunhuan(url,list):
        return url + list

    #下载图片的时候
    time.sleep(0.5)#先sleep,再读取数据
    """根据url下载文件,文件名自动从url获取"""
    def gDownload(url,savePath):
        #参数检查,现忽略
        fileName = gGetFileName(url)
        #fileName =gRandFilename('jpg')
        gDownloadWithFilename(url,savePath,fileName)
       
    """根据url获取文件名"""
    def gGetFileName(url):
        if url==None: return None
        if url=="" : return ""
        arr=url.split("/")
        return arr[len(arr)-1]

    """根据url下载文件,文件名参数指定"""
    def gDownloadWithFilename(url,savePath,file):
        #参数检查,现忽略
        try:
            urlopen=urllib.URLopener()
            fp = urlopen.open(url)
            data = fp.read()
            fp.close()
            file=open(savePath + file,'w+b')
            file.write(data)
            print "下载成功:"+ url
            file.close()
        except IOError:
            print "下载失败:"+ url
           
    #初始化页面,提取必要信息
    def getPage(url):
        userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)'
        headers = {
           'User-Agent': userAgent,
           'Accept-Language':  'zh-CN,zh;q=0.8',
           'Accept': 'text/css,*/*;q=0.1',
           }
        http = httplib2.Http(".cache")
        _, content = http.request(url, 'GET',headers=headers)
        return content

    #循环下载列表固定的  ---就是wallpaper,enterdesk等网站
    def xuanhuan_down_list():
        list=[]
        url = 'http://tupian.enterdesk.com/2013/mxy/0311/4/'
        temp=10
        for i in range(temp):
            list.append(str(i)+'.jpg')
        for i in range(temp):
            url_list = url_xunhuan(url,list[i])
            gDownload(url_list,savePath)
            time.sleep(0.2)

    #爬网获取url
    def spider_url(url):
        page = getPage(url)
        dom = BeautifulSoup(page)
        srcs = [x['src'] for x in dom.findAll('img')]
        #成功获取url
        return srcs[0]
       
    #循环下载列表随机的 ---就是ZOL桌面壁纸下载
    def xuanhuan_down_suiji():
        try:
            temp=25
            i=88
            j=i
            while (i <= j+temp):
                #http://desk.zol.com.cn/showpic/1920x1200_30688_33.html
                url = 'http://desk.zol.com.cn/showpic/1920x1200_12'+str(i)+'_37.html'
                src_url = spider_url(url)
                gDownload(src_url,savePath)
                time.sleep(0.1)
                i+=1
        except IOError:
            print "url获取失败!"

    if __name__ == "__main__":
        #gDownload(url,savePath)
        '''
        #批量下载序号固定的图片
        xuanhuan_down_list()
        '''
        '''
        #批量下载隐藏jpg路径的文件
        xuanhuan_down_suiji()
        '''
        #批量下载文件
       
       
       
        print '下载完成!'
       

  • 相关阅读:
    Oracle Golden Gate 系列十四 监控 GG 状态 说明
    Oracle Golden Gate 系列十六 配置 GG 安全 说明 与 示例
    带宽计算方法 及 大B与小b 说明
    带宽计算方法 及 大B与小b 说明
    Oracle LOB 详解
    Oracle bootstrap$ 详解
    Oracle 10g 中 X$KCVFH 说明
    RMAN 备份报错 RMAN06207 RMAN06208 解决方法
    Oracle Golden Gate 系列十三 配置GG进程检查点(checkpoint) 说明
    Oracle Lifetime Support(支持生命周期) 说明
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3201162.html
Copyright © 2011-2022 走看看