“客户端爬取”发布以后,有鲜花也有质疑,也有不少爱智求真、善于思考的同窗在点赞之余,提出了一些有价值或者以为有必要一答的问题,包括技术层面和道德层面,本文就主要问题做出解答。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.