python3 使用urllib.request.urlopen及re.findall爬取网页图片并保持本地

本例使用urllib及re正则表达式,爬取网页上(王俊凯百度百科)所有以jpg结尾的图片,并保存本地。

import re
from urllib.request import urlopen

if __name__ == '__main__':
    url = r'https://baike.baidu.com/item/%E7%8E%8B%E4%BF%8A%E5%87%AF/75850?fr=aladdin'
    # 读取网页内容,并指定解码方式
    buff = urlopen(url).read().decode('utf-8')
    # 爬取所有以src="https://开头以.jpg结尾的字符串,即图片url
    # 若此正则匹配不到正确的url,说明元网页内容发生改变,F12重新查看图片链接方式,修改正则表达式即可,怎么写正则可自行百科
    imgs = re.findall(r'src="https://.+\.jpg', buff)
    count = 1
    for img in imgs:
        print(img)
        with open('XiaoKai_' + str(count) + '.jpg', 'wb') as wf:
        	# img.split('src="')[-1]:去掉多余的src="
            cont = urlopen(img.split('src="')[-1]).read()
            wf.write(cont)
        count += 1

结果就是这样子:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值