這篇文章給大家分享的是有關(guān)python對(duì)比其他開(kāi)發(fā)工具寫(xiě)爬蟲(chóng)有哪些區(qū)別的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
只要從PHP, Python, Node.js 幾個(gè)方向討論
1.對(duì)頁(yè)面的解析能力
2.對(duì)數(shù)據(jù)庫(kù)的操作能力(mysql)
3.爬取效率
4.代碼量
1. 對(duì)頁(yè)面的解析能力
關(guān)于這一條,基本上就是靠特定語(yǔ)言的第三方包來(lái)完成網(wǎng)頁(yè)的解析。如果要從零開(kāi)始自己實(shí)現(xiàn)一個(gè)HTML解析器,難度和時(shí)間上的阻礙都是很大的。而對(duì)于復(fù)雜的基于大量Javascript運(yùn)算生成的網(wǎng)頁(yè)或者請(qǐng)求,則可以通過(guò)調(diào)度瀏覽器環(huán)境來(lái)完成。這一條上,Python是絕對(duì)勝任的。
2. 對(duì)數(shù)據(jù)庫(kù)的操作能力(mysql)
對(duì)數(shù)據(jù)庫(kù)的操作能力上,Python有官方及第三方的連接庫(kù)。另外,對(duì)于爬蟲(chóng)抓取的數(shù)據(jù),存儲(chǔ)在NoSQL型數(shù)據(jù)庫(kù)個(gè)人認(rèn)為更加合適。
3. 爬取效率
確實(shí)腳本語(yǔ)言的運(yùn)算速度不高,但是相對(duì)于特定網(wǎng)站反爬蟲(chóng)機(jī)制強(qiáng)度以及網(wǎng)絡(luò)IO的速度,這幾門(mén)語(yǔ)言的速度詫異都可以忽略不計(jì),而在于開(kāi)發(fā)者的水平。如果利用好發(fā)送網(wǎng)絡(luò)請(qǐng)求的等待時(shí)間處理另外的事情(多線程、多進(jìn)程或者協(xié)程),那么各語(yǔ)言效率上是不成問(wèn)題的。
4. 代碼量
這一點(diǎn)上Python是占有優(yōu)勢(shì)的,眾所周知Python代碼簡(jiǎn)潔著稱(chēng),只要開(kāi)發(fā)者水平到位,Python代碼可以像偽代碼一樣簡(jiǎn)潔易懂,且代碼量較低。
推薦語(yǔ)言時(shí)說(shuō)明所需類(lèi)庫(kù)或者框架,謝謝。比如:python+MySQLdb+urllib2+rePython: requests + MongoDB + BeautifulSoup
ps:其實(shí)不太喜歡用python(可能是在windows平臺(tái)的原因,需要各種轉(zhuǎn)字符編碼,而且多線程貌似很雞肋。)
由于GIL的存在,Python的多線程確實(shí)沒(méi)有利用到多核的優(yōu)勢(shì),對(duì)此你可以使用多進(jìn)程解決。但是對(duì)于爬蟲(chóng),更多的時(shí)間在于網(wǎng)絡(luò)IO的等待上,所以直接使用協(xié)程即可很好地提升抓取速度。
感謝各位的閱讀!關(guān)于python對(duì)比其他開(kāi)發(fā)工具寫(xiě)爬蟲(chóng)有哪些區(qū)別就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
分享名稱(chēng):python對(duì)比其他開(kāi)發(fā)工具寫(xiě)爬蟲(chóng)有哪些區(qū)別-創(chuàng)新互聯(lián)
分享地址:http://aaarwkj.com/article34/idsse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、動(dòng)態(tài)網(wǎng)站、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容