您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何用python爬蟲下載圖片的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
1.獲取圖片的url鏈接
l 首先,打開想要的圖片首頁,注意下圖url中的index
l 然后,右鍵檢查網頁源代碼,直接(ctrl+F)搜索 objURL
l 最后,這樣,我們發現了需要圖片的url了。
2.把圖片鏈接保存到本地
現在,我們要做的就是將這些信息爬取出來。
注:網頁中有objURL,hoverURL…但是我們用的是objURL。
3.核心代碼:
獲取圖片url代碼:
# 獲取圖片url連接 def get_parse_page(pn,name): for i in range(int(pn)): # 1.獲取網頁 print('正在獲取第{}頁'.format(i+1)) # 百度圖片首頁的url # name是你要搜索的關鍵詞 # pn是你想下載的頁數 url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%s&pn=%d' %(name,i*20) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4843.400 QQBrowser/9.7.13021.400'} # 發送請求,獲取相應 response = requests.get(url, headers=headers) html = response.content.decode() # print(html) # 2.正則表達式解析網頁 # "objURL":"https://cache.yisu.com/upload/information/20201110/129/1823.jpg" results = re.findall('"objURL":"(.*?)",', html) # 返回一個列表 # 根據獲取到的圖片鏈接,把圖片保存到本地 save_to_txt(results, name, i)
保存圖片到本地代碼:
# 保存圖片到本地 def save_to_txt(results, name, i): j = 0 # 在當目錄下創建文件夾 if not os.path.exists('./' + name): os.makedirs('./' + name) # 下載圖片 for result in results: print('正在保存第{}個'.format(j)) try: pic = requests.get(result, timeout=10) time.sleep(1) except: print('當前圖片無法下載') j += 1 continue # 可忽略,這段代碼有bug # file_name = result.split('/') # file_name = file_name[len(file_name) - 1] # print(file_name) # # end = re.search('(.png|.jpg|.jpeg|.gif)$', file_name) # if end == None: # file_name = file_name + '.jpg' # 把圖片保存到文件夾 file_full_name = './' + name + '/' + str(i) + '-' + str(j) + '.jpg' with open(file_full_name, 'wb') as f: f.write(pic.content) j += 1
感謝各位的閱讀!關于如何用python爬蟲下載圖片就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。