爬虫怎麽爬 从零开始的爬虫自学 DAY28 python网路爬虫开爬9-图片爬虫介绍

前言

各位早安,书接上回我们完成了我们的 python 文字爬虫,接下来当然就要来爬可爱动物的图片啦,所以今天就先简单介绍如何储存图片以及如何找到它吧

图片位置介绍

以宠物领养版的这篇文章为例 [送养] 桃园中坜公橘成猫找主人(超亲人)
点进去 按下F12 点那个可以让你看到物件在原始码内位置的按钮
https://ithelp.ithome.com.tw/upload/images/20211012/20140149PxJ4laWcgl.jpg
可以看到图片的位置在这

可以看到标签图片的 URL 在 < img > 内的 src 里
我们假设已经抓到图片的 URL
用这张可爱的猫猫图片来练习模拟抓取及存档
https://ithelp.ithome.com.tw/upload/images/20211012/201401493j0tk00RQ7.jpg
URL 就是刚刚找到的这个
https://cache.ptt.cc/c/https/i.imgur.com/LPP60qml.jpg?e=1634155608&s=6Bg2gQQlIlrm50ZIqcodzA

图片储存介绍

程序码

import requests
import os                                    #用来处理资料夹的套件
def saveImage(postUrl):                      #建立函式方便使用
    path = r"C:\Users\weiwe\crawler\pet_get" #存放照片的路径
    if (os.path.exists(path) == False):      #判断主资料夹是否存在
        os.makedirs(path)                    #不存在就建立一个
    getImage = requests.get(postUrl)         #抓取图片URL
    image = getImage.content                 #将图片资讯转成二进位制
    imageSave = open(path+"\img.png","wb")   #建立档案
    imageSave.write(image)                   #将图片资讯写入档案内
    imageSave.close()                        #关档
    print("img.png"+"下载成功")
postUrl = "https://cache.ptt.cc/c/https/i.imgur.com/LPP60qml.jpg?e=1634155608&s=6Bg2gQQlIlrm50ZIqcodzA"
#要存的图片的URL
saveImage(postUrl)                           #执行函式
print("下载完成")

程序码对应功能如注解

执行结果
https://ithelp.ithome.com.tw/upload/images/20211012/20140149OgtWx9D32m.jpg
可以看到成功建立资料夹及档案

点开档案
https://ithelp.ithome.com.tw/upload/images/20211012/20140149cvEWtKhbcg.jpg
可爱猫猫储存成功

参考资料:
http://jasonyychiu.blogspot.com/2019/10/python-syntaxerror-unicode-error.html
https://www.itread01.com/content/1549998217.html
https://www.itread01.com/content/1525927207.html
https://ithelp.ithome.com.tw/articles/10185694
https://www.cnblogs.com/zhaijiahui/p/8391701.html
https://blog.csdn.net/icydust/article/details/53113906
https://www.itread01.com/content/1548776360.html


早安闲聊区

你知道吗?

鱼刺卡在喉咙时如果强行吞咽食物意图把它推下去很可能导致鱼刺刺到更深更严重的地方喔

每日二选一

如果骑车时突然下毛毛雨你会选择拿出雨衣穿上呢还是在雨中兜风呢


<<:  创建App·小总结

>>:  [DAY 29] _STM32_内部Flash

Day 4【HTML + CSS】於是他开始像灵犬莱西一样到处蒐集证据

【前言】 不知道大家有没有看过 Youtube 上面一些 5~12 小时的 Coding 教学影片...

Day 24 Ruby 哪些不是物件

在 Ruby 内几乎所有的东西都是物件。 在说明答案前先来看看甚麽是 OOP 及物件吧。 Objec...

Day 12 JavaScript var vs let (2)

今天介绍 JS 内 var 与 let 的後两点差异。 执行环境 Execution Context...

【Day08】Git 版本控制 - GitHub 简介

了解本地端的版本控制该如何进行後,必须再学习怎麽将档案 push 到 Remote Reposito...

误格式化硬碟/记忆卡/随身碟?

给大家分享一个超实用的硬碟/行动硬碟/记忆卡/随身碟误格式化资料、照片、影片的救援方法。 我们知道,...