记美好的回忆-------半日技术交流活动

 公司坐落于美丽的青浦新城科技园区内,附近空气清新,绿树成荫,环境优雅,坐17号线分别通往东方绿洲和虹桥火车站,交通便捷,是个适合工作生活的好地方。这里的伙食特别贴心,每天有三个大菜可供选择,一到中午12点吃着热饭热菜,喝着一口热汤,是最幸福的一件事情,这种模式对于我这种懒人而言非常方便,自己终于不用为吃什么而担心了。
公司是一家专业从事财务软件开发,有着丰富的财务经验,为许多企业法人带来方便,每天都能看到有人过来谈生意,对于我而言自己的技术能够真正作为一种社会产出,无形的回报给社会,就是最大的动力,看着公司一天天的茁壮成长,为此感到荣幸。
就是那么幸运在31号那天让我有幸作为一名爬虫技术被招了进来负责爬虫业务的架构和维护,之前是一直专攻负责爬虫一块的项目,由于过去的公司是做大数据服务的,对于数据的需求从来没有满足。所以我们也就每天都在互联网上爬呀爬的,也积累了很多的爬虫经验,但是专业的爬虫工程师也一定是一名专业的前端工程师后端工程师网络工程师。只有不断地看到自己的弱点每天去更新大脑,让自己忙起来,接触大量的项目才能够成长。如果仅仅只会爬虫的话,那么要想解决前端js事件触发的问题就没有那么容易,虽说术业有专攻但是爬虫是个大杂烩,对于前端后端的内容都要有所学习才能做到所见即所得的境界。
未此我们提议将近两周的工作体会工作心得自己遇到的问题做一个交流,互相取长补短以交流的形式对每个人的工作做个了解帮助他更方便的完成工作。
地址选在了 普陀区的亚星广场,对于总监选的地方我是相当满意,这是一个不大不小的屋子正好能坐满我们4人,屋内有暖气有电视机,有wifi还有一群至死不渝喜欢技术的小伙伴,感谢总监的撮合给了我一个难忘的公司交流回忆。
那天虽然下着大雨但并没有阻碍我们的活动,第一个到的是总监他过来先选了地方,听说由于当天下雨,来的人较少,所以正好被我们挑到。总共来了4个人,分别是技术总监,做爬虫的我和网络运维以及负责后端的小男孩。
本次的交流首先买了一通点心作为开幕,因为是一家美式咖啡厅,所以点了两份pizza,两份三明治,一份水果拼盘,一杯焦糖玛奇朵,一份摩卡两杯橘子水。作为一名吃货再加上正当中午午饭点,每个人又都是不远千里敢来早就饿的饥肠辘辘,一见到美食瞬间就有了元气,上来一份消灭一份,吃的津津有味,说实在的虽然非常的贵每份都要30多元但是真的物有所值非常好吃。
这一次的交流是对自己在工作中遇到的问题做一个分享同时对于工作中的代码做一个有指导意义的分析。由于该部门是最近才划分出来的,之前我们呆的地方还是人家企划部的办公室,所以说技术支持只有总监一人,公司没有现成的模块没有现成的思路对这一块了解甚少,所以必须通过这次的技术交流为基础,每个人提出自己的看法和想法,大家一起讨论然后反思哪些还做的不够哪些还有待改进。可以说这样的活动对于我而言是很少的,所以非常珍惜这次机会。
时间过得很快,通过这5个小时的技术交流,了解到了自身的不足,自己代码上的缺陷。通过借鉴总监的经验我们制定了几个详细而有针对性的解决方案,这些问题都是工作时经常会碰到的问题,通过这次交流将他们一一整合出来,从而对今后的工作有更好的捷径可走。

一。当使用自动化测试软件进行模拟登录和一系列的操作的时候,由于浏览器自身的原因需要加载图片加载页面等因素,导致加载的时间比较长,一旦超时加载或设定一个阀值去判断是否加载完毕的话就会让程序变得非常的臃肿,一方面要提高性能加快速度,就需要让他在一定时间内加载完毕,但毕竟这是人家的服务器,对于爬取人家的服务器的时候首要是能够精准获取数据,其次才是在这基础上让他的效率提高。于是我们讨论了一下认为可以直接执行js脚本,在js中做判断一旦定位到某个元素就停止继续加载,给一个alert,这样通过捕获alert就能在页面并未完全加载的时候就能知道自己需要的东西是否加载完毕。

二。公司是做财务软件的对于有需求的客户做定制化的服务帮他们自动化完成一系列操作,比如资产负债表的填写,企业审核更新状态的提醒等,如果每个客户都去开一个浏览器做自动化处理的话,对于服务器的压力是非常大的,一旦开的进程过多随时都会发生内存溢出,主机过热,cpu过高导致的死机等情况,电脑的系统也会受到损害,针对这个情况我们打算做一个池,利用池的作用来减少不必要的资源浪费。池的作用可以有效的管理维护浏览器,首先先是让浏览器加载,一旦加载完毕就放到池里面,然后这里给一个接口拿指定已经加载完毕的浏览器即可,这样的好处是,我所有的等待都是在后台完成,最后需要处理的时候只需要从池中拿到加载完毕的浏览器就能用,不用再担心单线程时候的强制等待造成的时间上的浪费,和多线程的异步任务有着异曲同工之处。

三。任何时候爬虫需要的数据量都是极大的,一个做爬虫的人都知道,手上的项目写完工作并没有完成,你需要一直维护爬虫系统每天查看更新状态和日志,一旦对方页面改进或者断网断电,电脑系统问题,不可抗力的异常情况都会导致程序不继续工作,如果仅仅手头上是几个爬虫还好维护,如果是几十个爬虫的话,每天看更新状态,每天看日志管理的话将浪费大量不必要的精力,同时那么多进程在跑,很有可能错过一个两个没有监控到,又或者需要对近期爬虫任务的数据完成进度耗时进度和失败数做个分析的时候也无从着手。未此我们想了一个两全其美的方法,用来专门维护和监控所有任务。这个方法如果单单使用scrapy框架去爬的话可以使用spiderpeker来做监控。但像我们这样不依托与框架自己做的话就需要用到celery,redis,mongodb,flower,flask等一系列爬虫库做一个自己公司内部的监控系统。他有别与spiderpeeker因为他还有任务调度功能。先卖个关子,不做进一步讲解,等我们将整个系统部署成熟在做赘述。


 

猜你喜欢

转载自blog.csdn.net/qq_37995231/article/details/84312752