这两天听到一个新闻,说是微软正在考虑把Python列入到Excel官方的脚本语言里。
此消息一出,Python的热潮恐怕更是抵挡不住,很有可能以后我们真的就可以在Excel里写Python了。这个世界变化快啊!
今天我们就来大概领略一下Python的风采,顺便讲讲做小的编程项目的思路。
引子
现在是大数据时代,大家都知道数据的重要性,由此出来一个名词,叫“养数据”。数据到用时方恨少,绝知平时要多养。
不想写爬虫的销售不是好市场,面对多变的行情,以及有限的预算,逼着我们要自己从网站上爬行情数据啊!
Talk is cheap
要养好数据,当然需要一个稳定靠谱的数据源。选定数据源之后,我们就可以开始构思我们的程序了。
动手写代码之前,我们得先理清思路:
初始化一个本地数据库
抓取网站数据
对网站数据逐条解析
数据库中不存在则新增
将数据库中数据导出为csv
发送邮件提醒
从函数式编程的角度上来讲,我们需要这么几个函数:
获取单个网页上的产品价格数据
获取网页页数
获取全部价格数据(利用上面两个函数)
判断某天的数据在数据库中是否存在
把某天的数据存入数据库
按照时间的先后顺序导出数据库文件为csv
发送带附件的邮件函数
如果我们再把上面几个函数按照面向对象的思想来抽象,就需要写这么几个类:
数据爬取
数据存储
邮件发送
每个类里都需要封装上面所说的函数相对应的方法以供调用。
到目前为止,我们一直在理逻辑,画框架,千万不要觉得这是浪费时间。一个思路明确的框架可以让你在后面撸代码的时候事半功倍
Show me the code
在实现的过程中,有一个很重要的概念叫模块化。基本上可以这么理解:不同功能的代码放在不同功能的模块里,大家各司其职,相互调用。
模块,负责爬取网站数据
模块,封装了一个数据库接口对象
模块,定义了一个发送邮件的函数
最后,使用来综合调用
下面是具体代码,有些长,MailHander.py这个模块就暂时不放上来了。嫌代码长的,在领悟完编程思想后可以自行退出了。对代码感兴趣的欢迎提出宝贵意见.
TDIPriceCrawler.py
DataDumper.py
主程序:
估计没有几个人能有耐心看到这里吧,但无论如何,对于我们非专业码农来讲,把编程和工作结合起来才是最好的方式,希望大家能多思考,提高自己的效率,升职加薪不是梦!
总结
这是一篇冗长的和VBA没有关系的文章
领取专属 10元无门槛券
私享最新 技术干货