python 下载指定网页上得图片

# -*- coding: utf-8 -*-

import os
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):

    global URL_REG, IMG_REG

    m = URL_REG.match(url)  #IMG_REG
    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]Can't download(%d): %s" % (idx+1, img)

#运行从这里开始,第一个参数是保存路径,第二个参数是网址
savePath = 'E://Imgs'
questHTTP = "http://www.qiushibaike.com/"
download(savePath, questHTTP)
其实是想下载淘宝网站上的图片,可惜淘宝不让下!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值