1樓:鄭圓周
之前我也是討厭爬蟲的,寫過大量爬蟲,爬蟲會有很多細節,很多任務程層的問題。並不是簡單的requests 發HTTP請求,然後解析就好了。如果是定向爬蟲你要考慮爬取策略,這個過程就需要對HTTP協議有些了解甚至需要了解寫前端知識,然後要知道出現爬取失敗的時候該怎辦,可能是對方反爬蟲,可能是網路問題總之這些都要處理好,怎樣讓爬蟲斷掉之後繼續而不爬取重複頁面,還會遇到驗證碼,對於資料儲存還需要有資料庫知識......
最複雜的是爬蟲多了怎麼處理,成百上千的爬蟲該如何寫,該怎麼維護?總有人頭腦簡單,其實能把爬蟲寫好的人,絕對不會弱。
2樓:
看高票答案 @紳士喵 是有點不爽的, 因為我記得我第一次用 Python 寫爬蟲的時候,當時參考的例子就很簡單。
Tornado 官方文件 Queue example - a concurrent web spider - Tornado 4.5.1 documentation
不過仔細一看,這個東西還真是五臟俱全,啥都有。
回想當時上高中的時候,用 .Net 寫了乙個爬 Mediawiki 的爬蟲,其實也是用了基本的Queue,Thread 和 Dedupe 策略的。
當然還是覺得,寫出來的東西是不是「爬蟲」,這種事情,看自己心情就好了,能爬資料的都是爬蟲。
只是學會了用迴圈列舉之後,看看上面我給的鏈結,去看下老司機們怎麼教新手寫爬蟲的。老司機給新手寫的例子,一般比新手寫的例子還是水平高不少。
3樓:DDTemp
我覺得如果學統計做出來的爬蟲並不需要那麼複雜的系統,有時候爬取的資料量並不大都不會觸發到反爬取系統。知乎上面的簡單爬蟲就夠了。
他們本身就不是企業級開發的需求,你們說的那麼複雜幹嘛。。。
舉個例子去nba官網爬資料做分析,滿打滿算能有多少資料。我記得一年的球員加起來就幾百個,十年二十年也就幾千個。鏈家的資料我也爬過,自己還確認過,乙個城市2000個小區,幾萬個成交資訊。
在另乙個知乎回答,我看到有人說鏈家很多資料,如果沒有得到授權是不允許公布到網上的,所以資料量也沒那麼大。
做統計爬蟲只是第一步,而剩下來的分析則是更重要的。
我覺得知乎上的爬蟲只有爬取資料這一塊,而很少涉及分析,這個不太好
4樓:chu8129
罪魁禍首是那些平台,隔一兩天就有一篇爬蟲,古文都拿出來了。。。總感覺他們像是慫恿小孩子偷東西無區別,對,就是這感覺;最近特反感的wx:資料與suanfa之美
5樓:
任何一種技術及其應用都有其存在的價值。大多數領域深入研究下去也會有複雜度很高的問題需要解決。我一直對爬蟲有興趣,也看過很多入門的教程。
在我看來,現在氾濫的教程大多數只是把官方文件的用法複製或者模仿了一遍,而沒有教授編寫爬蟲的思路以及生產應用中會碰到的真實問題。所以也導致很多新手只能寫最基本的爬蟲,碰到一點反爬機制就束手無策了。大家還是要學會辨別,重要的是程式設計的思想與解決問題的思路。
6樓:傅紅雪
正經的爬蟲架構涉及到Web方方面面,天花板確實不高但不失為入門的好練手專案。
問題是這些個教程講的東西基本都是自己隨便翻翻資料一下午搞完的東西,一遍又一遍翻出來重複重複又重複,不嫌煩嗎?受眾如此大,難道大家都不會自己找資料只有被動餵食嗎?
7樓:Penguin Whisper
本來分享就是自由的。小白有小白的,高階有高階的。不明白有些人就有一種優越感,你丫的爬蟲是爬蟲,別人寫的lowB就不是爬蟲。
什麼python爬蟲大行其道,沒有市場沒有需求怎麼就火起來了,有人願意看才有人願意寫啊。而且人們自然會篩選優質資源,劣質的東西多了自然會淘汰,網際網路本來如此。難道都要大神來個資源質量審查就開心了?
8樓:Ivony
不論從技術還是道德方面這都不是乙個適合擺在臺面上講的事情。
反爬蟲也不是什麼新鮮事兒,反爬蟲的力度通常不取決於爬蟲,而是SEO、產品等部門的糾結。
9樓:laike9m
回答一下最後乙個問題
題主也算乙個會寫一些小爬蟲的pythoner(比入門教程稍好一點點)(_),所以我很好奇為什麼爬蟲熱門了,但是高階的教程卻非常少呢?既然那麼多人吐槽入門爬蟲水,為何極少有人去寫不水的爬蟲教程呢?
若不是因為工作是寫爬蟲,則非常不值得深入研究,因為你會發現 80% 的時間都花在處理那些之佔 1% 的 corner case 上,實際上對你提公升有限。
知乎的 Python 初級爬蟲教程多,人的原因是最主要的。說得刻薄點,因為這些人視野狹窄,除了爬蟲根本不知道還有啥別的可做。而且他們寫文章也不是想教你技術,而是吸引小白眼球,開班收稅。
10樓:hsfzxjy
我當然不反對爬蟲本身。爬蟲一類的專案實用性強,涉及到的知識面廣,確實是入門 python 的乙個良好契機。
我反對的是極大氾濫的爬蟲類教程。發教程本是個好事,可一旦這個公共平台充斥著大量質量低,同質化嚴重的所謂「教程」時,好事便成了壞事。這類東西一方面在扭曲外行對 python 的認識,給他們留下「python 這麼低階」「python 只能做爬蟲」的不好印象,另一方面會使初學者飄飄然,產生「我已精通了 python」之類的幻覺。
事實上還差得遠呢。大多數教程教的不過是爬蟲的基本原理,力求在盡量短的篇幅內讓讀者能實現乙個最簡單的爬蟲。爬蟲能跑是一回事,能跑得好跑得持久就是更深的學問了。
然而進一步的引導呢?很多教程並沒有,以致眾多初學者止步於此。這對程式設計的學習是有害的。
與此類似的還有那些「python奇技淫巧」類文章。不過是幾個語法糖而已,認真讀書,讀文件的都應知道,犯得著一遍遍地在網上發嗎?如果說是作者對某個知識點有獨到的見解,寫下來與大家共享,這值得鼓勵。
但多數情況是,作者將不知從哪摘來的陳年舊文加個震撼的標題,以此博取初學者的眼球,這是我所不齒的。
11樓:
工具只是工具,不是說程式設計就多玄乎,跟炒飯做菜一樣有時候就講究乙個火候
技術的門檻越來越低,有些人就慌了
身處於這個不進則退的行業裡,不用靠資歷,不用看文憑,還有什麼不滿足的呢
12樓:
現在這年頭連js都搞不定還能叫爬蟲的咯。反正過段時間firefox和chrome都要有headless mode,python爬蟲這會是要死絕了。
13樓:嚶嚶
門檻低、好上手絕對不是爬蟲被抵制的理由,剛入門就有個練手的專案不能更好,但是事實上爬蟲真的像大多數初學者認為的那樣簡單麼?
已經看到有的回答說爬蟲簡單,要求要學資料分析、機器學習之流,我的內心???滿天氾濫的爬蟲教程明顯在低幼化這個深度極深的技術,不說別的,多執行緒、自然語義分析、計網的概念都不清楚,說個雞毛爬蟲?
爬蟲在我看來是個集大成者,他把極其龐雜的知識融會貫通。我不反對入門學習爬蟲,但我希望每乙個入門學爬蟲的人都能對爬蟲的深度有個基本的印象,而不是花幾天爬個美女圖就四處嚷嚷自己會爬蟲了、爬蟲簡單之類的結論。
PS:這個問題真是問到心坎裡了,很多學弟學妹都會有這樣的疑問,我每次都會把上面的話耐心解釋一遍。關注了py的話題,時間線上天天都是爬蟲,有點小怨氣,見諒。
Python 爬蟲進階?
小小蟲師 能研究的還是挺多的scrapy框架就可以更加深入的學習,我最近也在寫爬蟲的部落格,可以一起交流 自己爬蟲學習的奮鬥史 python爬蟲從入門到放棄 orange 在Window執行都沒問題,不知道mac怎麼就不行了,用的3.6版本的Python 執行檔案是Python爬蟲dixudx tu...
Python爬蟲學習?
阿亮的Python之路 正好,最近在寫乙個Python爬蟲的系列。阿亮的Python之路 爬蟲系列 1 什麼是爬蟲,玩爬蟲的正確姿勢有哪些 阿亮的Python之路 爬蟲系列 2 Http請求和響應,寫爬蟲這些內容必須掌握 阿亮的Python之路 爬蟲系列 3 谷歌瀏覽器的基本使用阿亮的Python之...
爬蟲系列目錄
這篇文章的讀後感作者的想法還停留在上世紀中。一。先說他的讀後感 理論基礎 1.西方的管理學也並非全是基於人性本惡。除了有X理論 簡單的說就是性本惡 還有Y理論 簡單的對應性本善 輪子歌的微軟,他老婆的Google,工作環境的舒適度對比國內標桿的華為 BAT好的不是一點半點。2.中國的現代商業社會的核...