Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > Python多媒体

用Python写的图片蜘蛛人代码

来源:中文源码网    浏览:330 次    日期:2024-04-23 01:55:58
【下载文档:  用Python写的图片蜘蛛人代码.txt 】


用Python写的图片蜘蛛人代码
复制代码 代码如下:#coding=utf-8 import os import sys import re import urllib URL_REG = re.compile(r'(http://[^///]+)', re.I) IMG_REG = re.compile(r']*?src=([/'"])([^/1]*?)/1', re.I) def download(dir, url): '''下载网页中的图片 @dir 保存到本地的路径 @url 网页url ''' global URL_REG, IMG_REG m = URL_REG.match(url) if not m: print '[Error]Invalid URL: ', url return host = m.group(1) if not os.path.isdir(dir): os.mkdir(dir) # 获取html,提取图片url html = urllib.urlopen(url).read() imgs = [item[1].lower() for item in IMG_REG.findall(html)] f = lambda path: path if path.startswith('http://') else / host + path if path.startswith('/') else url + '/' + path imgs = list(set(map(f, imgs))) print '[Info]Find %d images.' % len(imgs) # 下载图片 for idx, img in enumerate(imgs): name = img.split('/')[-1] path = os.path.join(dir, name) try: print '[Info]Download(%d): %s'% (idx + 1, img) urllib.urlretrieve(img, path) except: print "[Error]Cant't download(%d): %s" % (idx + 1, img) def main(): if len(sys.argv) != 3: print 'Invalid argument count.' return dir, url = sys.argv[1:] download(dir, url) if __name__ == '__main__': # download('D://Imgs', 'http://www.163.com') main()

相关内容