专栏名称: 明白1
程序员,爱好写作,英语,更多信息见公众号「多元思维Hack」,欢迎来聊。
目录
相关文章推荐
今天看啥  ›  专栏  ›  明白1

没事别想不开去编程

明白1  · 简书  ·  · 2018-05-16 17:43

今天「又」遇到一个朋友,说想学编程,问我该怎么学习。

首先声明,我不是编程大牛,虽然写过几年代码。朋友们来问我,可能是因为我的那个「不用写代码的爬虫课」,或者是我翻译的那本技术书籍,这两点在行外人看可能比较厉害,但我心里有数,我只是程序员队伍里很普通的一个。

一系列常规的推荐资料、网站后,我又加了一句——

我还有一个建议,除非你是要从事编程行业、或者有个明确的需求,要做一个东西出来,否则不建议学编程。现在互联网上有很多成熟的工具,可以做到编程能实现的功能。编程相比其他行业见效慢,而且新手期学会后,如果中途停止,一旦连续一周不练习,你就会忘得和没学之前一样。

他说觉得有道理。

又问,“如果我要开发一个脚本,用来执行重复的操作,解放双手,我要学什么”?

一看这个问题,就知道这是个没学过编程,但是心里对编程盲目崇拜的人。想着学一个叫 「编程」的东西,写一个叫「脚本」的东西后,做其他事情时点一下鼠标,然后电脑就自动完成。

「执行重复的操作」,这句话没问题,这就是编程的功能性定义。

但是,这句话如果不放在具体场景里,单独拿出来讲,就是成功学。

我问他,「你想重复执行什么」,他半天没吱声,然后说——「重复执行,像爬虫爬信息,这个我学了点」。

哦,忘了说,他正在学我的「不用写代码的爬虫课」。

你看,他都说不清楚自己要 「重复执行」 些什么,只是觉得这样很酷~~~

「重复执行」看着挺简单,其实很复杂。简单来说需要三个步骤 1 输入、2 处理、3 输出。

举一个 「重复执行」的简单例子:每天抓取你关注的公众号列表文章,分析他们的阅读数、评论数,得到最优的那个,然后邮件通知。(这里的简单,是因为多个朋友问过我这个「简单」的问题)

这个过程需要的三个步骤:

  1. 输入:你所关注的各个公众号文章阅读、评论、点赞数
  2. 处理:分析阅读、评论、点赞数等指标,得到最优的那个
  3. 输出:发送邮件

1、输入
你要处理什么东西,这些信息从哪里来,怎么来,以什么形式交付给第 2 步的处理。

这里的输入就是你关注的 所有公众号文章指标

这部分内容怎么得到呢?—— 简单啊,用爬虫抓。

等等,假设,你就关注了一个叫「笑话」的公众号,这个简单,直接把 「笑话」这两个字交给爬虫就好了。

万一你哪天又多关注了一个「小说」,怎么办,把「小说」这两个字丢给爬虫就好了?怎么丢?改代码?难道每次更新公众号都要改代码?

当然你可以选一个便捷的方式,将公众号名字都放到一个文件里面,爬虫每次都从文件里面读取公众号名字。如果你更新了关注公众号,就只需要修改文件。

更简单一点,你把自己的ID交给爬虫,他自动抓取你所有的公众号。(其实这点更难,暂不赘述)

公众号名字交给爬虫,他抓取完成后,给第二步处理。


上面获取输入(公众号文章指标)的过程,是爬虫处理的,其实也需要执行内部的 输入处理输出(拿到公众号名字,抓取,将结果保存) 三个步骤,将输出的结果交给下面外部第二步的处理。

这块其实还有一些其他工作,爬虫抓取完成后的数据,以什么形式给第二步。可能是保存到一个文件里面,也可能是保存到数据库里面,或者极端点,直接放到缓存里面。

2、处理

有了输入数据,你要怎么处理?

有了文章的阅读数、评论数等,你需要根据第一步保存数据的方式,做相应处理:如果保存在数据库里面,你调用下相应的函数,按照自己的需要处理一下(或取单个最大值,或取综合最大值,或其他)。

这是最简单的处理方式。如果数据保存在文件中,就是其他的处理方面。

有人还说,我想让他根据我的选择,每天智能推荐给我感兴趣的信息。

智能推荐?这又是计算机的另一个大的领域,机器学习。你需要学习更多的知识。

这只是一些简单的处理方式,如果你的数据,还需要和外界交互,你还要写更多代码处理。




原文地址:访问原文地址
快照地址: 访问文章快照