• 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()方法下载每张图片。如果下载成功,就将其保存到指定的文件夹中。

    1. #Python3下载网页中的图片 - Lavi的专栏 - CSDN博客 http://blog.csdn.net/liuweiyuxiang/article/details/52750367
    2. # 教程 利用Python实现从百度下载图片到本地磁盘 - 森语音 - 博客园 https://www.cnblogs.com/593213556wuyubao/p/4972305.html
    3. import urllib.request
    4. import os
    5. import re
    6. #暴走_百度图片搜索 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
    7. 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'
    8. imgPath = r'F:\img'
    9. imgHtml = urllib.request.urlopen(url).read().decode('utf-8')
    10. # test html
    11. # print(imgHtml)
    12. urls = re.findall(r'"objURL":"(.*?)"', imgHtml)
    13. if not os.path.isdir(imgPath):
    14. os.mkdir(imgPath)
    15. index = 1
    16. for url in urls:
    17. print("下载:", url)
    18. # 未能正确获得网页 就进行异常处理
    19. try:
    20. res = urllib.request.urlopen(url)
    21. if str(res.status) != '200':
    22. print('未下载成功:', url)
    23. continue
    24. except Exception as e:
    25. print('未下载成功:', url)
    26. filename = os.path.join(imgPath, str(index) + '.jpg')
    27. with open(filename, 'wb') as f:
    28. f.write(res.read())
    29. print('下载完成\n')
    30. index += 1
    31. print("下载结束,一共下载了 %s 张图片" % (index - 1))

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

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

    使用requests(优化,简洁版)

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

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

    914cbb12b2c3492aaa31232a11aa9c64.png

     

  • 相关阅读:
    移动端App应用
    六,使用stbimage库加载.hdr
    Charles 抓包工具教程(七) Charles- compose 创建模拟请求
    springboot+vue前后端音乐网系统,挺漂亮的
    Spring的开幕式——Spring概述与设计思想
    编程界也有修仙秘籍?程序员码字3年终得《JavaScript 百炼成仙》
    【自然语言处理】BitNet b1.58:1bit LLM时代
    Spring原理学习(七)JDK动态代理与CGLIB代理底层实现
    python 爬虫书籍:如何使用Python爬虫爬取Web数据
    什么是IDE?新手用哪个IDE比较好?
  • 原文地址:https://blog.csdn.net/qq_33445788/article/details/140412384