Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句。
Python支持命令式程序设计、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。
此次实战项目清单:
WeRoBot框架开发自动回复微信机器人
Tornado开发后台
MongoDB做数据存贮
Scrapyd部署爬虫
Scrapy编写爬虫
把这些都部署在阿里云服务器上
用Python编写
把这些东西混在一起,就实现了,通过微信公众号来获取每日新鲜资讯的功能
废话不多说,先上图,看效果!
网页丑,请原谅我,我不是专门写前端的,前端知识我会日后补上的。为什么选择电脑端访问,因为手机上访问可能还是有些限制,但是电脑端访问完全没有问题啊!这效果赞不赞?牛不牛?
开发思路
既然看到了效果,那么我们现在就来扯一扯实现这个过程的来龙去脉。
首先,我们白日做梦一下, 想着我怎么能够通过微信公众号来访问网站啊?
这里给出答案:我们需要一个微信自动回复的机器人,因为这样,我就不需要每天自己登陆网页端,复制黏贴编写材料了,用电脑来代替我的劳动,这样我多轻松。
这里就是WeRoBot的使用场景。
接下来,我们如果有了自动回复机器人,那么我们拿什么来看呢?
这里给出答案:我们需要在远端架设一台服务器,上面需要跑起来一套网站的服务。给我们提供一个网页,里面有我们想要的资讯信息。
这就是阿里云服务器(腾讯的也可以)和Tornado的使用场景。
接着,我们还得研究,我网页上的数据,从哪里来啊??
这里给我出答案:网页端读取的数据,都应该是从数据库中读的。
这里就是MongoDB的使用场景。
知道数据从哪里读取的了,那么数据是从哪里来的啊?
这里给出答案:数据是来源,我们可以通过爬虫程序来爬下来。
这里就是Scray的使用场景了。
想到这里基本差不多了,中间在加一些粘合剂,我们可以通过Scrapyd来把爬虫部署到远端服务器上,再通过一个定时装置来定时执行爬虫程序。这样我们就会有源源不断的数据更新了。而网页端,我们只需要展示当天的数据就可以了。这么下来,
一切都思路都很完美,就差一个程序员了,对吗?
我们选择用Python来搞事情,因为这个东西,很适合搞事情。
我们既然把整个逻辑都想好了,那么我们倒着来撸这件事情。
接下来,我们用到了MongoDB
那么前面提到的这几个东西,就剩下WeRoBot和Tornado了。这个我准备在下一期文章中详细给大家讲解怎么开发。这里面的坑其实还不少,但是,我已经给大家踩过了。大家跟着我的步骤一步一步来就完全OK。
整体回顾
远端的服务器上面的爬虫,是Scrapy写的虫子。
通过Tornado的定时执行功能,会每一个小时执行一次。
将爬下来的数据存入到MongoDB中。
Tornado的路径对于的GET方法,会从MongoDB中读取数据,并传入到已经写好的html模板中。
WeRoBot则是依靠Tornado部署的,嵌入到了Tornado服务中。通过微信传过来的特定的指令,来做出返回结果并返回给客户端。
Python可以做什么?
web开发和 爬虫是比较适合 零基础的
自动化运维 运维开发 和 自动化测试 是适合 已经在做运维和测试的人员
大数据 数据分析 这方面 是很需要专业的 专业性相对而言比较强
科学计算 一般都是科研人员 在用
机器学习 和 人工智能 首先 学历 要求高 其次 高数要求高 难度很大
我有一个微信公众号,经常会分享一些python技术相关的干货;如果你喜欢我的分享,可以用微信搜索“python语言学习”关注
欢迎大家加入千人交流答疑裙:699+749+852