Python爬蟲是一種非常常用的Web抓取工具,利用Python編程語言編寫的各種程序可以自動化地獲取信息或數據,其中包括圖片。
# 導入必要的庫 import requests import os # 定義保存圖片的函數 def save_image(title, url): # 判斷保存圖片的文件夾是否存在,如果不存在則創建 if not os.path.exists(title): os.makedirs(title) # 拼接圖片的路徑和文件名 path = os.path.join(title, url.split('/')[-1]) # 獲取圖片的二進制數據,并將其保存到本地 content = requests.get(url).content with open(path, 'wb') as f: f.write(content) print('Save image successfully: ', path) # 定義抓取頁面并保存圖片的函數 def crawl_images(url): # 發送請求,并獲取頁面的HTML代碼 response = requests.get(url) html = response.text # 使用正則表達式獲取頁面中所有的圖片鏈接 pattern = r'' urls = re.findall(pattern, html) # 遍歷圖片鏈接,并將其保存到本地 for url in urls: save_image('images', url) # 調用函數抓取并保存頁面中所有的圖片 crawl_images('https://www.example.com/')
在以上代碼中,我們首先導入了requests和os這兩個庫來發送HTTP請求和進行文件操作。然后定義了一個save_image函數,用于判斷保存圖片的文件夾是否存在,并將圖片的二進制數據寫入到本地磁盤中。接著,我們定義了一個crawl_images函數,用于發送請求并獲取頁面的HTML代碼,然后使用正則表達式提取出所有的圖片鏈接,并遍歷保存到本地。
在實際應用中,我們還需要考慮保持爬蟲的可靠性和效率,比如通過設置請求頭信息、使用代理IP等手段來防止被封禁或者抓取速度過慢。此外,在爬取大量圖片時,我們還可以使用多線程或者異步IO來提高抓取速度。