在眾多編程語言當(dāng)中,有人把Python叫做爬蟲。這讓很多不了解Python的人非常困惑,Python不是編程語言嗎,不是用來做軟件研發(fā)的語言嗎,怎么又是爬蟲了呢,這到底是怎么回事呢,到底Python為什么叫爬蟲?Python為什么適合些爬蟲?在回答兩個問題之前,首先讓我們來看看什么是Python和什么是爬蟲吧,這樣可以更好的理解Python為什么叫爬蟲的問題。
什么是Python?
如果你在英文詞典里邊查Python,他會給出你Python是大蟒蛇的釋義,這樣讀:英[?pa?θ?n]、美[?pa?θɑ:n],Python是著名的“龜叔”Guido van Rossum在1989年圣誕節(jié)期間,為了打發(fā)無聊的圣誕節(jié)而編寫的一個編程語言。Python是一種計算機程序設(shè)計語言。是一種動態(tài)的、面向?qū)ο蟮哪_本語言,最初被設(shè)計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用于獨立的、大型項目的開發(fā)。
什么是爬蟲?
網(wǎng)絡(luò)爬蟲,是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。
隨著網(wǎng)絡(luò)的迅速發(fā)展,萬維網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰(zhàn)。
Python與爬蟲有什么關(guān)系?
爬蟲一般是指網(wǎng)絡(luò)資源的抓取,因為python的腳本特性,python易于配置,對字符的處理也非常靈活,加上python有豐富的網(wǎng)絡(luò)抓取模塊,所以兩者經(jīng)常聯(lián)系在一起。 簡單的用python自己的urllib庫也可以;用python寫一個搜索引擎,而搜索引擎就是一個復(fù)雜的爬蟲。從這里你就了解了什么是Python爬蟲,是基于Python編程而創(chuàng)造出來的一種網(wǎng)絡(luò)資源的抓取方式,Python并不是爬蟲。
Python為什么適合些爬蟲?
1)抓取網(wǎng)頁本身的接口
相比與其他靜態(tài)編程語言,如java,c#,C++,python抓取網(wǎng)頁文檔的接口更簡潔;相比其他動態(tài)腳本語言,如perl,shell,python的urllib2包提供了較為完整的訪問網(wǎng)頁文檔的API。(當(dāng)然ruby也是很好的選擇)
此外,抓取網(wǎng)頁有時候需要模擬瀏覽器的行為,很多網(wǎng)站對于生硬的爬蟲抓取都是封殺的。這是我們需要模擬user agent的行為構(gòu)造合適的請求,譬如模擬用戶登陸、模擬session/cookie的存儲和設(shè)置。在python里都有非常優(yōu)秀的第三方包幫你搞定,如Requests,mechanize
2)網(wǎng)頁抓取后的處理
抓取的網(wǎng)頁通常需要處理,比如過濾html標(biāo)簽,提取文本等。python的beautifulsoap提供了簡潔的文檔處理功能,能用極短的代碼完成大部分文檔的處理。
以上就是關(guān)于Python為什么叫爬蟲,以及Python為什么適合些爬蟲的全部內(nèi)容,想了解更多關(guān)于Python的信息,請繼續(xù)關(guān)注中培偉業(yè)。