標籤:.com 開發人員 sha 模式 正則 NPU nbsp 儲存檔案 dal
需求描述:
最近發現CL社區上好多精華的文章分享的圖片非常棒,好想好想儲存下來,但是一張一張地儲存太費時間了,因此,造物者思想主義的我就想動手寫個工具,實現只要輸入文章的連結,就能把所有的精華圖片下載下來。
程式分析思路:
Python是一個很好的工具,使用起來非常方便。因此我決定用Python去實現。
思路大概就是,我先輸入連結,然後每一張圖片的連結,然後去下載它。需求很明確,邏輯應該很清晰,開始幹吧。
環境說明:本人使用的是win7+Python3
首先匯入re、requests、os三個包,用於爬蟲,os包用於目錄的建立
輸入你要儲存圖片的的連結url = input("Input key url: ")
這裡以http://dd.dety.men/htm_mob/16/1808/32xxxxx.html為例,在瀏覽器開啟是這樣的,由於不可描述,我只能放這麼一點東西
這裡用獲得網頁的內容result = requests.get(url)
result.text是擷取到的網頁源碼,為了避免有編碼問題的困擾,我們現在前面做一下轉碼
然後我們需要在源碼中找到標題,一會用作儲存檔案的檔案名稱,標題的尋找的實現代碼是,這樣返回的是一個list,我們用的時候直接取第0個就好(程式猿數數都是從零開始的)。
這裡要說一下這個尋找標題的實現代碼的Regex,我們看到網頁連結中的源碼是
實現代碼的Regex就是要找<title>和</title>中間的那一部分,找到的標題如下
下面來幹正事了,從網頁中找圖片的連結,首先先看瀏覽器上,按F12開啟開發人員模式,點擊一下"從頁面中選中一個元素",選中圖片,看到圖片的源碼
<input data-src="http://www.79img.com/u/20180829/13435782.jpg"
但是我們需要在Python中看看re擷取到的源碼是什麼樣的,
擷取到的圖片連結是這樣的data-src=\‘http://www.79img.com/u/20180829/13392462.jpg\‘,因此我們用下面這個代碼來找到所有的圖片連結
pic_url = re.findall(‘data-src=\‘(.*?)\‘‘, result_text, re.S)
找到連結之後就是下載了,這是下載的方法,keyword是剛才找到的標題名
加入了建立目錄的操作
源碼和如何使用:
最終的源碼如所示:
源碼已經上傳至github,歡迎下載,歡迎各種star,fork
https://github.com/rootzhongfengshan/python_practical/tree/master/DownPictureFromCL
按使用
就可以看到在目前的目錄產生了一個目錄,給你們看看最後的成果圖吧,很黃很暴力。
手把手教你利用Python自動下載CL社區圖片