python編程語言,可以說是新型語言,也是這兩年來發展比較快的一種語言,而且不管是少兒還是成年人都可以學習這個新型編程語言,今天南京小碼王python培訓機構變為大家分享了一個python爬蟲教程。
網絡爬蟲,又被稱為網頁蜘蛛、網絡機器人,爬蟲分為通用網絡爬蟲、聚焦網絡爬蟲、增量式網絡爬蟲、Deep Web爬蟲這四種。“蟲如其名”,爬蟲並不是一種我們熟知的無脊椎動物中的節肢動物,而是一類計算器程序或腳本,該程序能夠自動爬取萬維網中的信息,並能夠按照一定的要求加工這些信息。
c/c++、java、python、php等語言都可以用來寫爬蟲程序,但總的來講,目前大多數開發人員都會選擇python、php等語言進行開發爬蟲程序,所以今天將使用python教大家制作一個非常簡單實用的爬蟲程序。
爬蟲原理
當我們在網絡中尋找我們需要的信息時,一般都會通過瀏覽器進行操作,瀏覽器會將我們的請求發送給存放信息的服務器,服務器收到發過來的請求之后會把請求的數據返回給瀏覽器。
形象一點講,瀏覽器就相當於我們人類的翻譯官,將我們的人類語言翻譯給服務器聽,服務器聽懂之后就開始執行我們的命令,然后將結果說給瀏覽器聽,瀏覽器再將結果翻譯給我們人類。所以我們的爬蟲就是通過不斷地模仿瀏覽器發出的指令,讓服務器不斷地執行相應的命令,此時服務器並不知道發送命令的是人類還是爬蟲,因為服務器只能聽得懂瀏覽器“語言”。
為什么要這樣呢?我們人類自己發出命令不好嗎?為什么要讓機器代勞呢?舉個例子:例如你正在做人工智能中的圖片識別,這將需要到很多訓練數據——圖片,你總不能手動地一個個地將圖片下載下來吧?這時候爬蟲的作用就來了!
python爬蟲原理
舉個例子,我們現在想要批量抓取貓的圖片用於貓狗分類模型訓練,聰明伶俐的選擇用python去代替手動下載貓、狗圖片這個枯燥乏味的過程。
在python中,我們可以使用requests.get(https://www.jkys120.com/)向目標地址發起請求,在這之后服務器會返回一些數據,在這些數據里面就有貓、狗圖片的存放地址,我們需要將圖片地址和HTML標簽以及其他無用信息區分開來,所以將使用到正則化的方法,在這里可以使用re庫,這個庫自帶一些正則化方法。
最后我們需要將指定url中的文件下載到電腦中,這將用到urllib庫中的request.urlretrieve()方法。
代碼教程
首先按照慣例我們先把將要使用到的庫導入到py文件中。
import requestsimport jsonimport urllibimport re
然后開始編寫我們的爬取程序,這里以百度圖片為例(請求地址在地址欄上,區別只是在word關鍵字上),程序詳解在下面的注釋當中。
requests_content的text屬性就是服務器返回的文本數據,里面包含了一些HTML標簽和JavaScript腳本代碼。
這是我們將使用正則化方法來把圖片地址提取出來。
最后將url中的圖片文件下載到電腦上。
運行結果
在這里批量下載了一些電腦壁紙,情況如何一起來看看吧!