Python 图片蜘蛛人,,[Python]代码#c
Python 图片蜘蛛人,,[Python]代码#c
[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'<img[^>]*?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()
相关内容
- Python设置windows进程的优先级,python优先级,下面的方法
- Python使用PIL裁剪贴图代码,pythonpil贴图代码,Python使用
- python通过HTMLParser抓取网页上的全部链接,pythonhtmlpars
- python压缩和读取.tar.bz2格式的压缩包,python.tar.bz2,#压缩
- webpy输出json例子代码,webpy输出json,webpy中可以方便的输
- python的反射:动态获得模块,类,python模块,python的反射
- python使用urllib2抓取网页时的错误处理,pythonurllib2,try
- python计算代码执行时间,python计算代码,import times
- python使用xmlproc验证xml格式是否符合DTD定义,xmlprocdtd,
- python线程池实现,python线程池,python原生包中没有
评论关闭