Python爬虫速成之路(3):下载图片

 hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹
19d95742d45b4220ad0ae0359ffcba93.png

💥个人主页绝命Coding-CSDN博客
💥 所属专栏后端技术分享
这里将会不定期更新有关后端、前端的内容,希望大家多多点赞关注收藏💖

 历史文章:

Python爬虫速成之路(1):获取网页源代码-CSDN博客

Python爬虫之路(2):爬天气情况-CSDN博客

 

教程:使用Python下载网页中的图片

在本教程中,我们将学习如何使用Python来下载网页中的图片。使用Python进行网页图片下载可以非常方便,只需要几行代码即可完成任务。

首先,我们需要导入所需的Python库,即urllib.requestos。这两个库分别用于发起HTTP请求和处理文件目录。

接下来,我们需要指定想要下载的网页地址,可以是任何包含图片的网页。

然后,我们需要指定图片下载的保存路径,也就是imgPath变量。你可以根据自己的需要修改保存路径。

在代码中,我们使用urllib.request.urlopen()方法打开指定的网页,并使用.read().decode('utf-8')方法对网页内容进行读取和解码。然后,我们使用正则表达式re.findall()方法查找网页中的图片链接。

接着,我们使用os.mkdir()方法创建图片保存的文件夹。

接下来,我们使用一个循环遍历所有的图片链接,并通过urllib.request.urlopen()方法下载每张图片。如果下载成功,就将其保存到指定的文件夹中。

#Python3下载网页中的图片 - Lavi的专栏 - CSDN博客  http://blog.csdn.net/liuweiyuxiang/article/details/52750367
# 教程    利用Python实现从百度下载图片到本地磁盘 - 森语音 - 博客园  https://www.cnblogs.com/593213556wuyubao/p/4972305.html
import urllib.request
import os
import re
#暴走_百度图片搜索  http://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1513512946231_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word=%E6%9A%B4%E8%B5%B0
url = r'http://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1513512946231_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word=%E6%9A%B4%E8%B5%B0'

imgPath = r'F:\img'

imgHtml = urllib.request.urlopen(url).read().decode('utf-8')
# test html
# print(imgHtml)
urls = re.findall(r'"objURL":"(.*?)"', imgHtml)

if not os.path.isdir(imgPath):
    os.mkdir(imgPath)

index = 1
for url in urls:
    print("下载:", url)

    # 未能正确获得网页 就进行异常处理

    try:

        res = urllib.request.urlopen(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))

其实下载图片的本质就是创建一个对应文件,然后将数据写入 

import urllib.request  
import os  
#下面是想要下载图片的地址  
url = r'https://bkimg.cdn.bcebos.com/pic/a2cc7cd98d1001e952722fb2ba0e7bec55e797c4?x-bce-process=image/watermark,image\_d2F0ZXIvYmFpa2UxNTA=,g\_7,xp\_5,yp\_5'  
#imgPath = r'/home/JueMingCoding/视频'          #Linux路径  
imgPath = r'C:\\py'  
  
if not os.path.isdir(imgPath):  # 如果不存在这个目录,则创建这个目录  
 os.mkdir(imgPath)  
  
# 未能正确获得网页 就进行异常处理  
try:  
    res = urllib.request.urlopen(url)  
    if str(res.status) != '200':            #状态不对  
 print('未下载成功:', url)  
except Exception as e:  
    print('未下载成功:', url)  
filename = os.path.join(imgPath, '暴走.jpg')      #创建  
with open(filename, 'wb') as f:  
    f.write(res.read())     #写入数据  
 print('下载完成\n')

使用requests(优化,简洁版)

import requests
import os  
#下面是想要下载图片的地址  
url = r'https://bkimg.cdn.bcebos.com/pic/a2cc7cd98d1001e952722fb2ba0e7bec55e3.下载图片797c4?x-bce-process=image/watermark,image\_d2F0ZXIvYmFpa2UxNTA=,g\_7,xp\_5,yp\_5'  
#imgPath = r'/home/JueMing/视频'          #Linux路径  
imgPath = r'C:\\py'  
  
if not os.path.isdir(imgPath):  # 如果不存在这个目录,则创建这个目录  
 os.mkdir(imgPath)  
  
# 未能正确获得网页 就进行异常处理  
try:  
    res = requests.get(url)  
    if str(res.status) != '200':            #状态不对  
 print('未下载成功:', url)  
except Exception as e:  
    print('未下载成功:', url)  
filename = os.path.join(imgPath, '暴走.jpg')      #创建  
with open(filename, 'wb') as f:  
    f.write(res.content)     #写入数据  
 print('下载完成\n')

 更多精彩内容请关注:绝命Coding

914cbb12b2c3492aaa31232a11aa9c64.png

 

相关推荐

  1. python爬虫入门:批量下载图片

    2024-07-14 11:06:06       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 11:06:06       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 11:06:06       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 11:06:06       57 阅读
  4. Python语言-面向对象

    2024-07-14 11:06:06       68 阅读

热门阅读

  1. Mysql第八次作业

    2024-07-14 11:06:06       18 阅读
  2. SQLite DISTINCT 关键字

    2024-07-14 11:06:06       25 阅读
  3. 显式等待、隐式等待、强制等待

    2024-07-14 11:06:06       24 阅读
  4. HttpUtil工具

    2024-07-14 11:06:06       24 阅读
  5. 中文科技核心论文

    2024-07-14 11:06:06       22 阅读
  6. 解决npm install 安装报错记录贴

    2024-07-14 11:06:06       27 阅读
  7. 山洪灾害研究

    2024-07-14 11:06:06       25 阅读
  8. 小白C语言基础详解:函数

    2024-07-14 11:06:06       23 阅读
  9. 【2024最新】C++扫描线算法介绍+实战例题

    2024-07-14 11:06:06       23 阅读
  10. 基于MacOS系统Sonoma 14.5的SSH服务禁止密码登录

    2024-07-14 11:06:06       23 阅读
  11. 【Druid 未授权访问漏洞】解决办法

    2024-07-14 11:06:06       23 阅读
  12. 电子版pdf格式标书怎么加盖公章?

    2024-07-14 11:06:06       28 阅读