- import urllib2
- import urllib
- import time
- import sys
- import re
- r_paper = re.compile('data-original="http://thumbs.wallbase.cc//rozne/thumb-(\\d+).jpg"')
- r_specia = re.compile('data-original="http://thumbs.wallbase.cc//manga-anime/thumb-(\\d+).jpg"')
- resolution = '2560x1440'
- path = '/root/wallpapers/'
- def report(count, blockSize, totalSize):
- percent = int(count*blockSize*100/totalSize)
- sys.stdout.write("\\r%d%%" % percent + ' complete')
- sys.stdout.flush()
- page = 256
- while 1:
- origin_url = "http://wallbase.cc/toplist/index/%s?section=wallpapers&q=&res_opt=eqeq&res=2560x1600&thpp=32&purity=100&board=21&aspect=0.00&ts=3d" % str(page)
- html = urllib2.urlopen(origin_url).read()
- rozne_papers = re.findall(r_paper,html)
- manga_papers = re.findall(r_specia,html)
- for paper in rozne_papers:
- paper_url = "http://wallpapers.wallbase.cc/rozne/wallpaper-" + str(paper) + ".jpg"
- filename = path + "%s.jpg" % str(paper)
- sys.stdout.write('\\rDownloading ' + paper_url + '...\\n')
- try:
- urllib.urlretrieve(paper_url,filename,reporthook=report)
- except urllib.ContentTooShortError,e:
- print e
- continue
- except KeyboardInterrupt:
- continue
- sys.stdout.write("\\rDownload complete, saved as %s" % (filename) + '\\n\\n')
- sys.stdout.flush()
- for paper in manga_papers:
- paper_url = "http://wallpapers.wallbase.cc/manga-anime/wallpaper-" + str(paper) + ".jpg"
- filename = path + "%s.jpg" % str(paper)
- sys.stdout.write('\\rDownloading ' + paper_url + '...\\n')
- try:
- urllib.urlretrieve(paper_url,filename,reporthook=report)
- except urllib.ContentTooShortError,e:
- print e
- continue
- except KeyboardInterrupt:
- continue
- sys.stdout.write("\\rDownload complete, saved as %s" % (filename) + '\\n\\n')
- sys.stdout.flush()
- print 'Waiting for your stoping'
- time.sleep(3)
- page += 32
- #该片段来自于http://www.codesnippet.cn/detail/1908201410236.html
来源: http://www.codesnippet.cn/detail/1908201410236.html