玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python爬虫_Web网络爬虫_搜索引擎蜘蛛框架Spide > 正文内容

Python抓取网页图本脚本源码下载

Python入门佳作 经典教程的全新修订 10个项目引人入胜
玩蛇网推荐图文教程:python黑客多线程扫描器

Python脚本从网络中抓取图片保存到本地,这样的Python抓取网页图本脚本源码网上有不少,感觉斯巴达Python_搜索引擎爬虫抓取还是不错的,喜欢的朋友可以去玩蛇网找python 多线程爬虫全集来学习下。

我自己也试了写了一个抓图片的python小程序,练练手吧。

斯巴达Python_搜索引擎爬虫抓取视频教程(1),还有好多集是一系列的都不错,推荐!

这段代码我用到了os\sys\re\urllib这些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 
www.iplaypython.com 
    '''  
    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() 

玩蛇网文章,转载请注明出处和来源网址:http://www.iplaypython.com/crawler/2651.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网PythonQQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
出炉日期:2016-01-31 16:17 玩蛇网 www.iplaypython.com

我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules