手把手教你利用Python自動下載CL社區圖片

來源:互聯網
上載者:User

標籤:.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社區圖片

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.