來源:Python知識圈
前言
生活或者工作中,不管是寫文章、公司 UI 交互圖還是廣告圖等等都需要用到圖片,圖片的優點和重要性自不用說。
圖片我們可不能隨便從網上搜索來用,我們得注意圖片的版權。我一般是在無版權的網站上找圖片,比如我常用的 pixabay 網站,打開網站,搜索我們需要的主題圖片,結果,加載大半天,還是下面這樣的。。。
這大大的影響我們的效率和心情啊,因為這網站的服務器是國外的,所有才會這么慢。
作為一個追求工作和生活高效率的 Pythoner,這個實在忍不了。
于是我用決定用 Python 寫一個簡單的爬蟲,把不同主題的圖片分別保存在本地,下次需要用圖的時候直接在本地瀏覽選擇就行了。
頁面元素分析
瀏覽器中 F12 調試,我們看看單個圖片的 url 鏈接,大部分的圖片 url 都在 「data-lazy-srcset」 屬性里。
正則提取元素
我們用正則表達式提取出一個頁面所有的圖片 url,比如我提取第 2 頁所有的圖片 url,并把這些 url 放在列表里,方便接下來調用后下載圖片。
創建目錄
我們給不同的主題圖片主動新建文件夾保存,包括「素材圖片」文件夾前面的路徑大家換成自己路徑,我用的 mac 電腦路徑和 windows 系統路徑不同,大家根據情況替換。后面的 direcory 參數是我們輸入的查詢圖片的關鍵字,根據我們輸入的關鍵字來創建主題文件夾儲存下載的圖片。
下載圖片
我們把提取出來的圖片下載下來,open 后面的 wb+ 表示以二進制讀寫模式打開。
最后,pk 哥用 input 方法讓大家自行輸入查詢的英文關鍵字,「pagi」后的參數是頁面,我用 for 循環讓它爬取前 5 頁。
運行代碼,pk 哥輸入英文關鍵字后回車,效果如下。
效果展示
把自己常用的主題圖都下載在本地,以后找圖再也不用等了,爽歪歪。
歡迎大家關注我的頭條號,私信“python",學習資料包免費分享給需要的朋友,另有python學習交流群,可以交流學習拓展人脈。