溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎樣入門(mén)python爬蟲(chóng)?

發(fā)布時(shí)間:2020-07-26 11:29:54 來(lái)源:網(wǎng)絡(luò) 閱讀:314 作者:battle槿 欄目:編程語(yǔ)言

“入門(mén)”是良好的動(dòng)機(jī),但是可能作用緩慢。如果你手里或者腦子里有一個(gè)項(xiàng)目,那么實(shí)踐起來(lái)你會(huì)被目標(biāo)驅(qū)動(dòng),而不會(huì)像學(xué)習(xí)模塊一樣慢慢學(xué)習(xí)。
另外如果說(shuō)知識(shí)體系里的每一個(gè)知識(shí)點(diǎn)是圖里的點(diǎn),依賴(lài)關(guān)系是邊的話,那么這個(gè)圖一定不是一個(gè)有向無(wú)環(huán)圖。因?yàn)閷W(xué)習(xí)A的經(jīng)驗(yàn)可以幫助你學(xué)習(xí)B。因此,你不需要學(xué)習(xí)怎么樣“入門(mén)”,因?yàn)檫@樣的“入門(mén)”點(diǎn)根本不存在!你需要學(xué)習(xí)的是怎么樣做一個(gè)比較大的東西,在這個(gè)過(guò)程中,你會(huì)很快地學(xué)會(huì)需要學(xué)會(huì)的東西的。當(dāng)然,你可以爭(zhēng)論說(shuō)需要先懂python,不然怎么學(xué)會(huì)python做爬蟲(chóng)呢?但是事實(shí)上,你完全可以在做這個(gè)爬蟲(chóng)的過(guò)程中學(xué)習(xí)ython :D
看到前面很多答案都講的“術(shù)”——用什么軟件怎么爬,那我就講講“道”和“術(shù)”吧——爬蟲(chóng)怎么工作以及怎么在python實(shí)現(xiàn)。先長(zhǎng)話短說(shuō)summarize一下:
你需要學(xué)習(xí)
1.基本的爬蟲(chóng)工作原理
2.基本的http抓取工具,scrapy
3.Bloom Filter: Bloom Filters by Example
4.如果需要大規(guī)模網(wǎng)頁(yè)抓取,你需要學(xué)習(xí)分布式爬蟲(chóng)的概念。其實(shí)沒(méi)那么玄乎,你只要學(xué)會(huì)怎樣維護(hù)一個(gè)所有集群機(jī)器能夠有效分享的分布式隊(duì)列就好。最簡(jiǎn)單的實(shí)現(xiàn)是python-rq: https://github.com/nvie/rq
5.rq和Scrapy的結(jié)合:darkrho/scrapy-redis · GitHub
6.后續(xù)處理,網(wǎng)頁(yè)析取(grangier/python-goose · GitHub),存儲(chǔ)(Mongodb)
那么源碼時(shí)代小編來(lái)總結(jié)一下:
從爬蟲(chóng)基本要求來(lái)看:
1.抓?。鹤ト∽罨揪褪抢W(wǎng)頁(yè)回來(lái),所以第一步就是拉網(wǎng)頁(yè)回來(lái),慢慢會(huì)發(fā)現(xiàn)各種問(wèn)題待優(yōu)化;
2.存儲(chǔ):抓回來(lái)一般會(huì)用一定策略存下來(lái),可以選擇存文件系統(tǒng)開(kāi)始,然后以一定規(guī)則命名。
3.分析:對(duì)網(wǎng)頁(yè)進(jìn)行文本分析,可以用認(rèn)為最快最優(yōu)的辦法,比如正則表達(dá)式;
4.展示:要是做了一堆事情,一點(diǎn)展示輸出都沒(méi)有,如何展現(xiàn)價(jià)值。
另外小編在這里推薦一本書(shū)《用Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)》,里面主要講述的內(nèi)容有:通過(guò)跟蹤鏈接來(lái)爬取網(wǎng)站;使用lxml從頁(yè)面中抽取數(shù)據(jù);構(gòu)建線程爬蟲(chóng)來(lái)并行爬取頁(yè)面;將下載的內(nèi)容進(jìn)行緩存,以降低帶寬消耗;解析依賴(lài)于JavaScript的網(wǎng)站;與表單和會(huì)話進(jìn)行交互;解決受保護(hù)頁(yè)面的驗(yàn)證碼問(wèn)題;對(duì)AJAX調(diào)用進(jìn)行逆向工程;使用Scrapy創(chuàng)建高級(jí)爬蟲(chóng)。
風(fēng)里雨里,在源碼時(shí)代python爬蟲(chóng)課程等你。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI