Python爬取网页图片02

#coding=utf-8
import re
import time
import os
import _osx_support
import urllib.request

baseFiledirs='D:\img\images/'
# baseFiledir='D:\img/'
# 获取网页
def getHtml(url):
    page = urllib.request.urlopen(url)
    html = page.read()
    html = html.decode('UTF-8')
    return html

# 获取图片
def getImg(html):
    # r'^http(s)?://.+\.(jp(e)?g|png)$'
    # reg = r'img class="BDE_Image" src="(.+?\.jpg)"'
    # reg = r'img src="(.+?\.jpg)"'
    # reg = r'src="(.+?\.jpg|.+?\.png)"'
    reg = r'img .+?\ src="(.+?\.jpg|.+?\.png)"* '
    # reg = r'^http(s)?://.+\.(jp(e)?g|png)$'
    imgre = re.compile(reg)
    # print(type(imgre))
    # print(imgre)
    imglist = re.findall(imgre,html)
    # print(type(imglist))
    print(imglist)
    num = 0
    for imgurl in imglist:
        # urllib.request.urlretrieve(imgurl,'D:\img\hardaway%s.jpg' %num)
        # urllib.request.urlretrieve(imgurl,'D:\img' +time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"\%s.jpg")#不可用
        # urllib.request.urlretrieve(imgurl,'D:\img\%s' %num+".jpg")
        # imgurl.replace("https","")
        # imgurl.replace("http","")

        # paths=imgurl.split('/')
        # del paths[len(paths)-1]
        # del paths[0]
        # del paths[0]
        # path=baseFiledir
        # for shortPath in paths:
        #     path+=shortPath+"/"
        #
        # # print(num,path)
        #
        # if os.path.exists(path)==False:
        #     os.makedirs(path)
        #
        # print(num, path+"/"+imgurl.split('/')[-1])
        # urllib.request.urlretrieve(imgurl,path+imgurl.split('/')[-1])#将所有文件保存到相应路径
        print(imgurl)
        try:
            if imgurl.startswith("//"):
                imgurl="httP:"+imgurl
            if os.path.exists(baseFiledirs) == False:
                os.makedirs(baseFiledirs)
            urllib.request.urlretrieve(imgurl,baseFiledirs+imgurl.split('/')[-1])#将所有文件保存到指定目录
            num += 1
        except BaseException:
            print("errorurl:",imgurl)



    return "success"


# html = getHtml("http://tieba.baidu.com/p/1569069059")
# html = getHtml("http://www.cankaoxiaoxi.com/roll10/bd/20170425/1926008.shtml")
# html = getHtml("http://www.bilibili.com")
# html = getHtml("http://www.bilibili.com/blackboard/activity-B1bzUVG0l.html")
html = getHtml("http://news.baidu.com/")
# print("html内容:",html)
print(getImg(html))



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值