爬虫练成之 analyst 和 engineer 技术与业务

版权声明:本文为博主原创文章,欢迎转载。 https://blog.csdn.net/u011521609/article/details/79780337

写这篇文章是因为近期研究技术遇到了一些问题,感觉应该定一个边界:研究技术到底是要成为engineer还是analyst,这是一个根本问题。同时也放弃了对excel的怀疑!

analyst是要获取洞见,数据是必要的一步,凡事总不能完全靠别人,自己懂一些数据获取的技术是非常必要的,并且一旦有了成熟的数据模型,也非常方便和工程师交流,非常清晰告知工程师自己想要什么(ps:这次做系统,前端告诉我分享页面需要加钱,因为我没说清楚,令我非常不爽,不过也给我一个教训,必须说清楚!不能想当然!即便感觉完全没问题的)。

在获取洞见的过程中,数据探索是非常必要的,而探索大部分人尚未探索的事物可能更有价值,但面临dirty data,这时数据库要求比较高,excel几乎没有什么要求,比如转义符的处理、比如编码,甚至需要看源码,每个问题都是冰山一角,需要对某种工具的系统学习!非常耗时间!更重要的是直接在表格中改数据,因此excel对于探索几乎依旧是最佳工具。

而各种模型、各种可视化用得真不多,大部分商业领域做好第一步就够了,炫技的工作还是有时间再研究!

真正探索之后花钱请engineer,把需求说清楚,才能做好一个真正的产品!analyst 探索为本!需要花时间学技术,但一定要有边界!另外技术是长期的,感兴趣可以作为爱好探索,但不能延误项目时间。

最近业务清晰了,希望把scrapy采集的数据入库,发现很多问题,之前存成json这些问题都自动解决,但发现往mysql里面存就各种问题,直觉都是解析的问题,网页代码不是那么完美的,因此瓶颈就在于分析向工程过渡,但是这些对我很重要,因此我也发求助了。从数据采集到产品阶段,也是需要探索的,因此实现方式json其实最好,一点一点采集,查看数据,没问题再入库。但还是想解决掉这个问题,对于自己感兴趣的数据,接上tableau,就可以长期自动监测了。

经过研究发现其实不是mysql的问题,而是自己没有解析出来相应的内容,现在发现入库自动化非常麻烦,要正确解析出来根据网页可能增加很多判断条件(因为有时候1万行,就一行错了,后面全错),很多时候css不行了,但是用css弄出来的 json可以自动挑选第一个或者自动分列,看来工程化之路太难,还是看看是不是能json转python吧!

分隔开,上面是技术问题,下面是业务洞察

某个高手曾经说过,request就是爬虫了吗?那只是一个包而已!真正的爬虫是一个应用,去年只是觉得他说得对,现在用了pyspider scrapy框架,了解了神箭手等才明白他说的什么意思,爬虫确实太多功能,例如定时爬取、去重等等。这是engineer角度的。

爬虫除了技术层面,还有业务层面的,例如写字楼信息的抓取,有写字楼信息的网站很多,但哪个更靠谱?是都采集下来拼接起来?还是从某个角度入手例如专门从租赁信息进入(租赁信息说明这里真的有出租)这其实是个业务问题,在深入一些,可以都爬一下,然后随机抽取30个写字楼做对比,甚至去现场看,同时link到业务层面,才知道哪个或者哪几个更准确。这些都是analyst的事情,analyst可以爬下来几个网站都够了,至于如何入库等能则更好,不能没关系,业务探索成熟后交给engineer。

我见过好的engineer大部分都太重视技术,而且永远不希望手工做什么,商业数据领域,永远1%需要手工,这是核心的竞争力,有些engineer太牛,能爬出来,但是数据清洗给后面的人带来很大工作量,主要也是因为需求没有表达明确。

因此我认为一个真的好爬虫,首先有业务价值,analyst有个实现就好,探索之后,交给engineer,记住要非常清晰的!让程序员把爬虫技术实现好!然后接上前端,tableau、r、各种sql等,就可以有真正的成熟应用了。

重要的事情说三遍:analyst去探索,第二批数据要入库,发现excel已经支撑不了了,不论是计算还是其他的存储,都需要上mysql了,不纠结了,把这些交给engineer。

猜你喜欢

转载自blog.csdn.net/u011521609/article/details/79780337