# python 3.5.2 from selenium import webdriver import time import urllib # 爬取頁面地址 url = "https://stocksnap.io/" # 目標元素的xpath xpath = "/html/body/div[4]/div[3]/div[2]/div//a/img" # 啟動Firefox瀏覽器 driver = webdriver.Firefox() # 最大化窗口,因為每一次爬取只能看到視窗內的圖片 driver.maximize_window() # 記錄下載過的圖片地址,避免重復下載 img_url_dic = {} # 瀏覽器打開爬取頁面 driver.get(url) # 模擬滾動窗口以瀏覽下載更多圖片 pos = 0 m = 0 # 圖片編號 for i in range(10): pos += i*500 # 每次下滾500 js = "document.documentElement.scrollTop=%d" % pos driver.execute_script(js) time.sleep(1) for element in driver.find_elements_by_xpath(xpath): img_url = element.get_attribute('src') # 保存圖片到指定路徑 if img_url != None and not img_url in img_url_dic: img_url_dic[img_url] = '' m += 1 ext = img_url.split('.')[-1] filename = str(m) + '.' + ext #保存圖片數據 data = urllib.request.urlopen(img_url).read() f = open('./van/' + filename, 'wb') f.write(data) f.close() driver.close()