使用 urllib 庫來爬取圖片
import urllib.request # 圖片的 URL 鏈接 image_url = "http://img.netbian.com/file/2023/0415/235643ofSA0.jpg" # 獲取圖片并保存到指定路徑 urllib.request.urlretrieve(image_url, "image.jpg")
這段代碼中,首先指定了要爬取的圖片的 URL 鏈接,然后使用?urllib.request.urlretrieve()
?函數(shù)將圖片下載到指定的路徑。你可以將?image_url
?替換為實際的圖片 URL,將?"image.jpg"
?替換為保存圖片的路徑和文件名,如果路徑不存在,系統(tǒng)會自動創(chuàng)建相應(yīng)的文件夾。
需要注意的是,使用 urllib 庫下載圖片時,需要確保圖片 URL 的有效性,否則程序可能會因為無法連接或者圖片不存在等原因失敗。同時,一些網(wǎng)站可能會針對爬蟲做出限制,需要根據(jù)具體情況采取相應(yīng)措施。
使用 urllib 庫爬取多個圖片可以通過循環(huán)遍歷圖片鏈接來實現(xiàn),具體步驟如下:
- 導入 urllib.request 模塊。
- 定義圖片鏈接的列表或從網(wǎng)頁中爬取圖片鏈接并保存到列表中。
- 使用循環(huán)遍歷列表中的圖片鏈接。
- 使用 urllib.request.urlretrieve() 方法下載圖片并保存到本地文件。
下面是示例代碼:
import urllib.request # 圖片鏈接列表 img_urls = [ 'http://img.netbian.com/file/2023/0414/small234647agSR11681487207.jpg', 'http://img.netbian.com/file/2023/0415/small2350329sMTe1681573832.jpg', 'http://img.netbian.com/file/2023/0414/small233653zJreD1681486613.jpg' ] # 循環(huán)遍歷圖片鏈接并下載保存 for img_url in img_urls: # 截取圖片鏈接中的文件名作為本地文件名 file_name = img_url.split('/')[-1] # 下載圖片并保存到本地文件 urllib.request.urlretrieve(img_url, file_name)
注:通過以上代碼可以爬取圖片,但是由于爬取網(wǎng)站圖片可能存在版權(quán)問題,請遵守相關(guān)法律規(guī)定,不要非法爬取、使用圖片。
可以使用urllib庫中的urlopen函數(shù)獲取網(wǎng)頁的源代碼,然后使用正則表達式來匹配其中的圖片鏈接,最后再使用urllib庫中的urlretrieve函數(shù)下載圖片。
下面是一個示例代碼,它可以獲取指定URL的頁面源代碼,并下載其中的所有圖片到本地。文章來源:http://www.zghlxwxcb.cn/news/detail-434914.html
import re import urllib.request # 獲取頁面源代碼 response = urllib.request.urlopen('http://www.netbian.com/') html = response.read() # 使用正則表達式匹配圖片鏈接 img_pattern = re.compile('img .*?src="(.*?)"') img_urls = re.findall(img_pattern, str(html)) # 下載圖片并保存到本地 for img_url in img_urls: urllib.request.urlretrieve(img_url, img_url.split('/')[-1])
在上面的代碼中,我們使用了正則表達式匹配了所有img標簽中的src屬性值,然后使用urlretrieve來將每張圖片下載下來并保存在當前目錄下。文章來源地址http://www.zghlxwxcb.cn/news/detail-434914.html
到了這里,關(guān)于urllib爬取圖片的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!