个人介绍
熟悉Python常用库、面向对象编程方法。熟练使用Mysql数据库以及和Python的交互。
熟练使用Numpy和Pandas等数据分析工具。
熟悉Python常见的爬虫方法,Requests、Selenium和Scrapy等,处理过kaptcha图片验证码以及OTP动态口令的爬虫登陆问题。
能使用Django和Flask WEB框架开发后端项目。
熟练使用Finereport数据可视化应用。
本人可以提供后端开发服务、爬虫服务、数据处理,数据分析,可视化报表制作等服务。
工作经历
2020-06-01 -至今LenovoData Analyst
负责Services Supply Chain IT Project Framework设计及实现,负责Services Supply Chain各个部门的KPI可视化大屏开发,负责DPE & SPM & Lenovo CreditTrackingReport 等网页数据的爬取
2018-09-01 -2020-06-01甲乙丙丁(北京)电子商务股份有限公司算法工程师-数据挖掘
在职期间, 1.team合作开发完成CRM系统,并成功上线,我主要负责后端数据的开发以及数据的校验。 2.负责数据报表开发以及数据分析可视化,为公司决策提供决定性参考依据。 3.开发公司内部使用的KPI计算系统,实现人工操作的自动化,极大的减轻了公司人员消耗,为公司创造价值。
教育经历
2014-09-01 - 2018-07-01曲阜师范大学物联网工程本科
在校期间荣获三等奖学金,多次参加学校组织实验及活动,大四在千锋互联实训Python
技能
该网页爬虫的两个难点,图片验证码和Lenovo OTP动态口令。其中图片验证码是通过截图识别来实现系统输入(这里解释一下为什么使用截图而不使用图片链接,图片验证码也是动态的,图片链接通过加时间戳加随机三位实现实时刷新,通过链接访问的图片与实际需要的不符)。 图像识别原理大致如下,获取图片中像素点数量最多的像素,然后按照阙值进行二值化处理,之后去掉二值化处理后的图片中的噪声点,最后识别出图片中的数字及字母。 Lenovo OTP动态口令则是通过python win32api.ShellExecute打开动态口令exe,再模拟键盘输入密码实现获取动态口令。
各部门KPI可视化决策大屏,主页为Summary Show,另4页Detail by Week or Owner,其中水球使用js封装,波动幅度可调节,刷新频率使用js location.reload()实现,每个大屏之间1分钟轮播一次,极大的简化了各部门繁琐的KPI统计工作