zoukankan      html  css  js  c++  java
  • python自动下载太平洋电脑网上的壁纸

    直接上代码吧,比较简单:

    #-*- encoding:utf-8  -*-
    '''
    自动下载壁纸,太平洋电脑网壁纸,http://wallpaper.pconline.com.cn
    By garfieldtom,2012
    python ver:python 3
    
    感谢   枫叶饭团  提供解答,软件取回内容有压缩
    '''
    
    import re,urllib.request
    import gzip
    
    #获得页面内容
    def downwallpapers(url):
        urlcontent=geturlcontent(url)
        imglist=getimglist(urlcontent)
        for img in imglist:
            downimg(img)
        
    
    def geturlcontent(url):
        #返回页面内容
        doc = urllib.request.urlopen(url).read()
        #解码,有些是压缩的,或者说有时是压缩的,随机??没搞懂
        try:
            html=gzip.decompress(doc).decode("gbk")
        except:
            html=doc.decode("gbk")
        return html
    
    #下载图片
    def downimg(url):
        imgdir ='/home/xxh/图片/wallpapers/'
        filename = imgdir + url.split("/")[-1]
        print("准备下载................")
        print("url:"+url)
        print("filename:"+filename)
        urllib.request.urlretrieve(url, filename)
        
    #取图片链接
    def getimglist(doc):
        #取照图图片地址
        regImg =  '<td class="show_mainbox"><img src=\'(.*?)\''
        imglist = re.findall(regImg,doc)
        print(imglist)
        return imglist
        
    
    if __name__=="__main__":
        for i in range(1,13):
            print('开始下载第%d个....' % i)
            #打开http://wallpaper.pconline.com.cn,选择一个系列,然后打开一个图片,打开原图,地址就是类似下面的样子
            #然后是系列的序号,总个数参考网页,其实可以从网页上抓取,偷懒了  :-)
            url="http://wallpaper.pconline.com.cn/picsource/13307_"+str(i)+".html"
            downwallpapers(url)


     

    再次感谢   枫叶饭团  提供解答,软件取回内容有压缩 !

  • 相关阅读:
    UITextView自适应高度解决方法
    UITextView自适应高度出现的问题
    UITextView出现的一些问题
    服务器终于好了!
    Update语句
    VS.NET经验与技巧
    唯一约束
    由C#风潮想起的-给初学编程者的忠告
    location.search在客户端获取Url参数的方法
    Web Services 入门概念
  • 原文地址:https://www.cnblogs.com/GarfieldTom/p/2802000.html
Copyright © 2011-2022 走看看