一個有缺陷的下載圖片程式碼
阿新 • • 發佈:2018-12-24
1 import requests 2 import re 3 import os 4 5 6 text=input("請輸入要搜尋的關鍵詞:") 7 if not os.path.exists(text): 8 os.mkdir(text) 9 # 1.確定網址 10 #url=("http://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&sf=1&fmq=&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&fm=index&pos=history&word=%s" %text)11 12 url ="http://image.baidu.com/search/index?ct=201326592%2C503316480&z=%2C&s=&tn=baiduimage&ipn=r&word="+text+"&pn=0&ie=utf-8&oe=utf-8&lm=-1&st=-1&fr=&se=&sme=&width=&height=&face=0&hd=1&latest=0©right=0" 13 # 2. 解析url 得到網頁原始碼14 15 r = requests.get(url) 16 17 # ret = r.content #網頁原始碼 二進位制資料 18 19 ret =r.content.decode() #字串網頁原始碼 20 21 # 3.提取圖片連結資料,必須是字串型別的資料 22 # print (ret) 23 result = re.findall('"objURL":"(.*?)",',ret) # result 是一個列表型別 24 # print (result) 25 # 4.儲存圖片 26 for i in result: 27 print (i) 28 end = re.search('(jpg|png|gif|jpeg)$', i ) 29 if end == None: 30 i=i+".jpg" 31 path = re.sub('/','',i[-10:]) 32 try: 33 with open (text+"/%s" % path,"ab") as f: 34 r = requests.get( i,timeout=3) 35 f.write(r.content) 36 except Exception as e: 37 print (e) 38 39 print (url)
還有幾個問題沒有解決:1.現在只能下載30張圖片 2.還不能指定下載內容的父目錄。