Python爬虫 搜索并下载图片
本文是我學習Python爬蟲的筆記,一直想要再學一門語言來擴展自己的知識面,看了看各種語言主要使用的方向,最后決心還是來搞一搞Python.Python給我的第一印象就是語法簡潔,格式另類還有各種庫的支持,就喜歡這么有個性的語言~為了以后深入的學習爬蟲,事先肯定是先把語法學了一遍,下面是我實現的一個小爬蟲,可以通過百度圖庫利用關鍵字來搜索圖片并下載~
###工具準備:
- 不要多想,挑個IDE吧,我用的是PyCharm(免費的~嗯,今年剛剛免費的)
- 打開PyCharm的設置(找找在哪,我都是直接commond+,的,如果你有commond鍵的話)在Project下選擇Project Interpreter然后點擊左下角的加號,在輸入框中輸入requests,收索后安裝,其實還有很多其他的安裝方法,使用pip,在終端中敲入那些代碼,然后還有什么其他的東西,不過還是這樣比較偷懶(其實前面的坑我都爬過了)
- Python為最新版,2.7應該也沒問題,并未使用Scrapy爬蟲框架,也沒有使用lxml,僅僅使用re正則和requests網絡請求
re和requests用法
-
re正則
re就是正則,主要是用來解析數據的,當我們拿到網頁的數據時需要從中提取處我們想要的數據,正則匹配就時其中的一個方法,至于正則的寫法,這里就不在多講,想看的在這里正則表達式30分鐘入門教程,而re的常用使用手法可以在我的這篇文章里了解Python爬蟲-re(正則表達式)模塊常用方法,這里我們主要使用其re.findall("正則表達式","被匹配數據",匹配限制(例如:忽略大小寫))
-
requests網絡請求
requests的封裝異常的強大,幾乎可以做任何形式的網絡請求,這里我們只是使用了其最簡單的get請求requests.get("url",timeout=5),詳細了解,可以看一下(requests快速入門)
具體的步驟
-
首先是想清楚想要做什么,你想要獲取什么數據(沒有目標哪來的動力啊),這里我們是想要通過百度圖片來后去圖片鏈接及內容,我想要搜索關鍵字,并可以指定搜索的數據量,選擇是否保存及保存的路徑~
-
需求有了,就要去分析要爬去的網頁結構了,看一下我們的數據都在哪,我們這次要扒去的圖片來自百度圖片
-
首先進入百度圖庫,你所看見的頁面當向下滑動的時候可以不停的刷新,這是一個動態的網頁,而我們可以選擇更簡單的方法,就是點擊網頁上方的傳統翻頁版本
-
接下來就是我們熟悉的翻頁界面,你可以點擊第幾頁來獲取更多的圖片
-
點擊鼠標的右鍵可以查看網頁的源代碼,大概就是這個樣子的,我們get下來的數據,就是這個啦,我們需要在這里面找到各個圖片的鏈接和下一頁的鏈接,然而有點懵,這么多的數據,我們想要的在哪里呢?
-
不著急,我們可以通過瀏覽器的開發者工具來查看網頁的元素,我用的是Chrome,打開Developer Tools來查看網頁樣式,當你的鼠標從結構表中劃過時會實時顯示此段代碼所對應的位置區域,我們可以通過此方法,快速的找到圖片所對應的位置:
找到了一張圖片的路徑和下一頁的路徑,我們可以在源碼中搜索結果找到他們的位置,并分析如何書寫正則來獲取信息: -
所有的數據都分析完畢了,這個時候就要開始寫我們的爬蟲了,看了這么久,竟然一句代碼都沒有:
小結
** 因為對Python的理解還不是特別的深入,所以代碼比較繁瑣,相比較爬蟲框架Scrapy來說,直接使用reqests和re顯得并不是特別的酷,但是這是學習理解爬蟲最好的方式,接下來我會陸陸續續將我學習爬蟲框架Scrapy的過程寫下來,有錯誤的地方請指正~**
總結
以上是生活随笔為你收集整理的Python爬虫 搜索并下载图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMware Data Recovery
- 下一篇: Item 9 Always overr