各種語言寫網路爬蟲有什麼優點缺點?

時間 2021-05-30 07:13:57

1樓:一枚

推薦乙個C#寫的爬蟲軟體,這個軟體已經有十來年,架構較為成熟,速度快,使用簡單。http://www.

sensite.cn/bget

,除了新增抓取任務,還可以在上面開發自己的外掛程式。

2樓:

用c++、python、erlang、scala、go、js都寫過爬蟲

簡單說,技術方案,首先得看需求:

2. 資料規模:如果就抓來玩玩,每天幾千幾萬的規模,任何語言都足夠了

3. 是否需要做處理:這個展開細節就多了,不過我們理解的爬蟲一般就負責抓,處理就給ETL階段來就可以了

4. 是否涉及到複雜的互動,例如登陸,驗證碼一系列的操作等等

如果就純粹寫著玩,用python挺好的,框架可以直接用scrapy,一兩個小時即可完整乙個比較完整的爬蟲;如果有渲染需求,可以直接呼叫selenium,非常方便

如果要涉及到高併發,例如一台機器有幾千個併發,那麼用erlang/scala/go這些原生支援高併發的語言會更合適;不過鑑於erlang本身在字串處理方面比較弱,所以更推薦scala & go,單機支撐幾千併發沒啥壓力

如果涉及到大量頁面渲染,那麼就很麻煩了,一般拿基於webkit之類的,例如phantomjs,改造一下來弄弄也可以滿足需求;如果需要大規模抓取的話,那麼可以把視覺渲染部分邏輯去掉,僅僅保留js渲染(很長時間沒研究爬蟲了,現在應該有直接做js渲染的引擎了)

上述東西,其實不算複雜,但是乙個完整的爬蟲,會涉及到很多技術點,例如:

1. 認證,驗證碼,各種加密

2. IP的問題,這個解決方案也很多

3. 資料的處理

4. 分布式(如果有幾百上千個節點,這個任務排程就非常重要了)

3樓:

用js:

got+cherio+nedb或者mogodb

cherio就是node精簡版的jquery,用的比較順手,寫得快跑得也快

4樓:xsank mar

爬蟲的本質就是抓取網頁,分析內容,把你想要的部分提取出來,模式是固定的,任何語言都是這麼搞的。由於模式固定,遇到的問題類似,容易一般化,故出現了大量的爬蟲框架

所以你需要關注的是你擅長哪種語言,該語言哪個爬蟲框架最好用

語言辣麼多,框架辣麼多,分析到啥時候是個頭兒!

iPhone 11 Pro MAX有什麼優點缺點?

生不逢秋 還行吧從8p換到11promax 最明顯的感覺就續航提公升了其他的沒啥感覺因為之前有一直在用ipadpro所以操作方式沒沒啥不習慣的可能是因為是男生的原因沒有頭髮遮臉的煩惱面容比指紋要好用太多了 把預備給 iPhone11Pro Max頂配 512G 這點換iMac5kiPad底配 不香嗎...

網路撲克競技賽相比於現場競技有什麼優點?

已重置 網路賽與現場賽相比還是有挺多優點的。一是,在公平性上更易把控 現場賽的公平性主要取決於裁判,而裁判也是人,存在人為漏洞。在足球比賽都已經走向VAR懷抱的情況下,網路競技的優越性是很容易得到體現的。二是,人為影響降低 現場比賽中,眼神,動作都可能影響比賽結果,而網路賽可以將人為影響降到最低,還...

工作語言非英語,想提高英語寫和說水平有什麼有效的辦法?

沈萬三 在職英語學習 需要的規劃需要定下個可達到的目標 學習方法 選材找個方向 難麼我我們乙個個梳理清楚,這裡面需要考慮的內容。需要定下個可達到的目標每個人的學習方法,現階段的狀態都是不一樣的。尤其是出了學校後,時間也變得不可控。所以每個人需要合理評估自己所有的時間精力,目前的英語水平去制定自己的小...