Python爬取网页图片

import urllib.request
import os
import re
import logging.config

url = r’http://www.h3c.com/cn/’ #爬取华三网站主页的图片

imgPath = r’F:\img’

imgHtml = urllib.request.urlopen(url).read().decode(‘utf-8’) #拿到网页的源代码

urls = re.findall(r’src=”(.*jpg|.*png)”\s’, imgHtml) #根据正则表达式提取出来所有的图片下载地址.

if not os.path.isdir(imgPath): #如果没有此目录,创建一个
os.mkdir(imgPath)

index = 1 #用来记载下载了多少个照片
for url in urls:
logging.basicConfig(level=logging.INFO) #为日志设定级别
logging.info(url)
# 未能正确获得网页 就进行异常处理
try:
print(url) #打印下载路径
res = urllib.request.urlopen(‘http://www.h3c.com‘+url) #有的网站上的源代码显示的并不是真实路径.

    if str(res.status) != '200':
        print('未下载成功:', url)
        continue
except Exception as e:
    print('未下载成功:', url)

filename = os.path.join(imgPath, str(index) + '.jpg') #创建一个文件
with open(filename, 'wb') as f:
    f.write(res.read())
    print('下载完成\n')
    index += 1

print(“下载结束,一共下载了 %s 张图片” % (index - 1))

open方法的参数类型

‘r’ 以只读模式打开文件(默认模式)

‘w’ 以只写的方式打开文件,如果文件存在的话会先删除再重新创建

‘x’ 以独占的方式打开文件,如果文件已经存在则错误

‘a’ 以写的形式打开文件,若文件已存在,则以追加的方式写入

‘b’ 二进制模式

‘t’ 文本模式(默认)

‘+’ 更新文件(读/写)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值