Python 爬蟲-爬取大量圖片


Python 爬蟲-爬取大量圖片

課堂作業:
自行指定一個網址,撰寫一個python程式將圖片自動儲存到指定的目錄
因為沒去上課所以花了不少時間摸索一下 自己想爬的東西然後整理筆記

實作把底下 google 上 doodle 的圖片下載至本機端
https://www.google.com/doodles?hl=zh-TW#archive

操作畫面:(篩選後的 json 資料)


網址解析 Part01

https://www.google.com/search?q=hchs&rlz=1C5CHFA_enTW893TW895&oq=hchs&aqs=chrome..69i57j69i65l2.2623j0j7&sourceid=chrome&ie=UTF-8

https 
s = secure
網站使用編碼協定的安全性(secure) SSL

www.google.com.tw

Domain Name(域名) 192.168.1.78 IPv4 or IPV6

search? 查詢

q=hchs&rlz=1C5CHFA_enTW893TW895&oq=hchs&aqs=chrome..69i57j69i65l2.2623j0j7&**sourceid=chrome&ie=UTF-8

附加資訊

網址解析 Part02

https://imgur.com/8tpL2q9

觀察:
右鍵 查看網頁原始碼
CTRL + F 搜尋圖片關鍵字
解析:
Chrome 的 Network 工具
XHR工具列 點擊 6?hl=zh_TW
觀察右邊的 Header

Request URL: https://www.google.com/doodles/json/2020/6?hl=zh_TW
有了『年份』和『月份』的資訊
再看一下『preview』,有了 json 格式,以及爆炸多資訊

json 資料

中括號 (List) 和大括號 (Dic- tionary)
中括號 (List) 『同樣類型』的資料 排隊[1,2,3,4]
大括號 (Dic- tionary) 『不同資料』組合成一個『複雜資料』
List 和 Dictionary 組合形式 >>『JSON 格式』
from urllib.request import urlopen
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
response = urlopen(“https://www.google.com/doodles/json/2020/6?hl=zh_TW")
print(response)

<http.client.HTTPResponse object at 0x10c708c40>

撈出資料了
json.load(response)

json 裡頭有 “url”: “title”:

preview 可以看得更清楚

還有翻譯 translated…的相關資訊

取出我們要的圖片標題及網址:

for d in doodles:
url = “https:” + d[“url”]
title = d[“title”]
print(“圖片標題:”, title) print(“圖片網址:”, url)

下載圖片:

使用 urlretrieve 功能
然後創立資料夾
將圖片下載回來
url = “https:” + d[“url”]
title = d[“title”]
fpath = “doodles/” + url.split(“/”)[-1]
urlretrieve(url, fpath)

最後成果:

參考資料:

https://stackoverflow.max-everyday.com/2018/06/python-3-urllib/
http://tw.gitbook.net/python/python3-webbug-series1.html

#Python #爬蟲 #JSON #資料分析






Related Posts

Be a 10X engineer/ 10倍工程師

Be a 10X engineer/ 10倍工程師

AWS EC2 佈署網站:卡關記錄 & 心得

AWS EC2 佈署網站:卡關記錄 & 心得

實作 PHP API & 留言板 SPA(下)

實作 PHP API & 留言板 SPA(下)



Comments