「客戶端爬取」發佈以後,有鮮花也有質疑,也有不少愛智求真、善於思考的同窗在點贊之餘,提出了一些有價值或者以爲有必要一答的問題,包括技術層面和道德層面,本文就主要問題做出解答。android
在閱讀本文以前,應該先看看這兩篇:ios
爬蟲技術(三) 客戶端爬取github
問題一:須要安裝app嗎?這成本也過高了吧?api
「客戶端爬蟲的前提是用戶要安裝你的 App,這個成本過高了呀!」 --掘金網友瀏覽器
客戶端爬取不是一個app, 它只是一個提供客戶端爬取能力的sdk, 能夠供任何第三方app集成。而sdk自己也不大android版aar包也僅150k. 而ios是以靜態庫方式提供,編譯後會更小。安全
問題二:客戶端爬蟲應用在什麼場景app
」我不明白用戶爲什麼要安裝這個 app 幫你爬取數據。即便用戶有這個意願,爲何要用手機這種計算能力這麼弱的設備,爲什麼不直接寫一個瀏覽器插件或者腳本。總之,以爲太雞肋了「 --掘金網友工具
需求場景我在爬蟲技術二-客戶端爬蟲 中已經講過:
「近年來,隨着P2P的快速發展,互聯網金融更是處於風口浪尖,這個萬億級的市場,吸引了一大批公司,像螞蟻金服、陸金所、愛錢進、理財通、百度金融等等。而互聯網金融的本質主要是風險控制、因此一個強大徵信平臺相當重要。從業務角度來看,互聯網金融公司通常都會分爲兩塊:資產端和資金端,也就是貸款方和投資方,而這裏最具風險的就是對貸款方的資質審覈,而所謂互聯網金融,無非是將認證流程提到了線上,借款時,經過相應平臺的的app完成申請流程。而借款流程中每每須要獲取用戶我的信息,進而對用戶信用進行評定,如信用卡代還的借款須要用戶信用卡帳單郵箱,大額貸甚至須要用戶支付寶交易記錄、京東淘寶購買記錄等等。而要獲取這些信息,要麼和都是須要用戶受權/登陸的,而這些網站一般爲了安全期間,對ip請求的次數、頻率都有着嚴格的限制,這致使傳統的後臺爬蟲不能勝任,此時急需一種新的解決方案。」
也就是說,有些APP有獲取用戶我的信息的需求,而這些信息在後臺獲取會有諸多限制。
還有,值得一提的是,支付寶APP中也加入了爬取信用卡帳單郵箱的功能:支付寶->芝麻分->信用卡帳單 中綁定帳單郵箱時會跳到qq郵箱手機版登陸頁面,登陸成功後,便開始獲取信用卡詳單記錄(但不知爲何,個人獲取了2分鐘左右提示失敗了), 究竟是怎麼實現的,我猜應該也是在端上進行的爬取。
問題三:移動設備計算能力這麼弱,爲何非得在客戶端爬取?
這個問題在以前文章中講過,主要的緣由是:後臺爬蟲在一些狀況下不能知足業務。如問題二中所述,目前客戶端爬取技術主要是用於借款app中用於獲取用戶信用信息,而此時都會有一個用戶受權/登陸的過程,而若是依然用後臺爬取的話,想一想如今的網站登陸頁各類奇葩的驗證碼,將很難。還有就是後臺爬取總會遇到ip限制致使不能爬取。 基於這兩點,若是用戶的某些關鍵信息對放款風控政策很是重要時,後臺爬取的可用性將大大下降。
問題四:會侵犯用戶隱私?
「這。。。讓用戶安裝你的 APP 去讓你收集本身的隱私。。。會上頭條的。」 -掘金網友
「不道德,若是用在一個成熟的app上面,不免會遭遇投訴,舉報。」-簡書網友
道不道德,取決於產品的動機 ,技術只是技術, 若是產品須要一些用戶數據, 徹底能夠先告知用戶,在用戶受權後再繼續。這不只僅是客戶端爬取面對的問題,若是開發者不懷好意,或者產品經理和老闆沒節操(好比要求開發在app中獲取用戶短信等),只要用戶運行你的app,均可能會泄漏隱私。技術無罪,刀不殺人,關鍵是看持刀的人,而客戶端爬取只是技術。
問題五:客戶端爬取效率如何?
客戶端爬取是單線程,並不適合大規模爬取。其實,在客戶端,你也不該該進行大規模爬取,由於這樣會嚴重消耗用戶流量!
問題六:目前就只支持android/ios嗎?客戶端爬取還有沒有進一步計劃?
我本想將客戶端爬取作成兩部分:
目前 android sdk已開發測試,ios sdk 立刻也會開放。而pc端工具作了70%。因爲做者時間精力有限,會先確保移動端sdk穩定可用。
問題七: 客戶端爬取和後臺爬取哪一個更好?
沒有最好的技術,只有最合適的技術。 客戶端爬取主要是在交互複雜、後臺ip限制的狀況下有優點。然後臺爬取的優點在於能夠大規模爬取,收集數據。具體選哪一個,須要根據自身業務選擇。
問題八:客戶端爬取真的那麼牛叉嗎,是否是吹過了,做者裝逼吧?
對於這種問題,向來是不屑於反駁,由於這個問題已不是單純的討論技術了。不是每個人均可以改變世界,我尊敬那些能給這個世界帶來新的東西的人。固然,全部人都有評價的權利。
若仍有疑問,請留言,或github.