首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这里有一个简单的爬虫以及实现思路

这两天听到一个新闻,说是微软正在考虑把Python列入到Excel官方的脚本语言里。

此消息一出,Python的热潮恐怕更是抵挡不住,很有可能以后我们真的就可以在Excel里写Python了。这个世界变化快啊!

今天我们就来大概领略一下Python的风采,顺便讲讲做小的编程项目的思路。

引子

现在是大数据时代,大家都知道数据的重要性,由此出来一个名词,叫“养数据”。数据到用时方恨少,绝知平时要多养。

不想写爬虫的销售不是好市场,面对多变的行情,以及有限的预算,逼着我们要自己从网站上爬行情数据啊!

Talk is cheap

要养好数据,当然需要一个稳定靠谱的数据源。选定数据源之后,我们就可以开始构思我们的程序了。

动手写代码之前,我们得先理清思路:

初始化一个本地数据库

抓取网站数据

对网站数据逐条解析

数据库中不存在则新增

将数据库中数据导出为csv

发送邮件提醒

从函数式编程的角度上来讲,我们需要这么几个函数:

获取单个网页上的产品价格数据

获取网页页数

获取全部价格数据(利用上面两个函数)

判断某天的数据在数据库中是否存在

把某天的数据存入数据库

按照时间的先后顺序导出数据库文件为csv

发送带附件的邮件函数

如果我们再把上面几个函数按照面向对象的思想来抽象,就需要写这么几个类:

数据爬取

数据存储

邮件发送

每个类里都需要封装上面所说的函数相对应的方法以供调用。

到目前为止,我们一直在理逻辑,画框架,千万不要觉得这是浪费时间。一个思路明确的框架可以让你在后面撸代码的时候事半功倍

Show me the code

在实现的过程中,有一个很重要的概念叫模块化。基本上可以这么理解:不同功能的代码放在不同功能的模块里,大家各司其职,相互调用。

模块,负责爬取网站数据

模块,封装了一个数据库接口对象

模块,定义了一个发送邮件的函数

最后,使用来综合调用

下面是具体代码,有些长,MailHander.py这个模块就暂时不放上来了。嫌代码长的,在领悟完编程思想后可以自行退出了。对代码感兴趣的欢迎提出宝贵意见.

TDIPriceCrawler.py

DataDumper.py

主程序:

估计没有几个人能有耐心看到这里吧,但无论如何,对于我们非专业码农来讲,把编程和工作结合起来才是最好的方式,希望大家能多思考,提高自己的效率,升职加薪不是梦!

总结

这是一篇冗长的和VBA没有关系的文章

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171221G0300400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券