“你只需要告诉我们你需要什么样的数据,我会把所有的数据全部都生成A P I接口共享。”是如何做到的?

“你只需要告诉我们你需要什么样的数据,我会把所有的数据全部都生成A P I接口共享。”是如何做到的?

问题描述:

**北京大学 黄罡 教授 在《大数据的孤岛危机与开放之道》中倒数第二段提到的“你只需要告诉我们你需要什么样的数据,我会把所有的数据全部都生成A P I接口共享,这时候以 A P I方式存在和使用。”是如何做到的?
**

原文部分摘要:
1. 今天的I T或者我们说互联网上的应用,基本上是遵循三级结构,数据存在数据库里面,只是数据的值和基本的描述,数据库的三级模式是数据库在三个级别 (层次)上的抽象,使用户能够逻辑地、抽象地处理数据而不必关心数据在计算机中的物理表示和存储。但是如果我想把这样的系统的数据拿出来是很难的。
1. 你直接打开数据库没有用,即便有数据库表也看不懂,这个时候我们必须要去看前面的数据表现层和业务层,但是那些代码如果在还好,如果不在就很难,更关键的是我们很多系统都是第三方商业支持。我是直接拿的数据库,我把这个权限给你,到时候被篡改怎么办?各种各样风险要全面评估,按照这个思路来判断:数据的生产者和拥有者的权利反而没有了。
1. 我和我的团队是从2000年开始做应用服务器的,所有的网站都跑在应用服务器上,针对之前的问题,我们做了很大的技术突破和颠覆:我们提供很简单的方式,你只需要填空,但是所有代码我们是清楚的。只要你的数据藏在软件中,我不需要看你的源码,你的数据库能够通过一个客户端或者浏览器看到,你只需要告诉我们你需要什么样的数据,这样我会把所有的数据全部都生成A P I接口共享,这时候以A P I方式存在和使用。而通过这种技术,实际上我在后台是会用“小机器人”帮助你把数据拿出来、自动更新。这时候你也不用给我源码,系统开发商是谁我也不知道,我也可以把你的数据安全的按照你的要求提取出来,我们也不会碰到前面所说的各种安全风险问题。

大教授一般解决这个问题自然是让苦逼的研究生给他打工了呗。图片说明

所谓的小机器人,无非就是爬虫。和网上到处发色情小广告的人用的技术没有本质的区别,只是人家不像大教授,喜欢吹牛逼。人家低头直接卖逼。

一、前言
你是不是在为想收集数据而不知道如何收集而着急?

你是不是在为想学习爬虫而找不到一个专门为小白写的教程而烦恼?

Bingo! 你没有看错,这就是专门面向小白学习爬虫而写的!我会采用实例的方式,把每个部分都跟实际的例子结合起来帮助小伙伴儿们理解。最后再写几个实战的例子。

我们使用Python来写爬虫,一方面因为Python是一个特别适合变成入门的语言,另一方面,Python也有很多爬虫相关的工具包,能够简单快速的开发出我们的小爬虫。
本系列采用Python3.5版本,毕竟2.7会慢慢退出历史舞台~

那么,接下来,你得知道什么是爬虫、爬虫从哪里爬取数据的,以及,学习爬虫都要学习哪些东西。

二、什么是爬虫
来看看百度百科是如何定义的

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

什么?没看懂?没关系,我来给你解释一下

打开一个网页,里面有网页内容吧,想象一下,有个工具,可以把网页上的内容获取下来,存到你想要的地方,这个工具就是我们今天的主角:爬虫。

这样是不是更清晰了呢?

既然了解了爬虫是什么,那么爬虫是如何爬取数据的呢?

三、爬虫是哪里爬取数据的
打开浏览器(强烈建议谷歌浏览器),找到浏览器地址栏,然后在里敲music.163.com,你会看到网页内容。

欸,图片中间那俩人在干嘛?(单身狗请主动防御,这是误伤,这真的是误伤!)

鼠标在页面上点击右键,然后点击view page source。看到这些文字了吗?这才是网页最赤果果的样子。

其实所有的网页都是HTML代码,只不过浏览器将这些代码解析成了上面的网页,我们的小爬虫抓取的其实就是HTML代码中的文本啦。
这不合理啊,难不成那些图片也是文本?

恭喜你,答对了。回到浏览器中有图的哪个tab页,鼠标右键,点击Inspect。会弹出一个面板,点击板左上角的箭头,点击虐狗图片,你会看到下面有红圈圈的地方,是图片的网络地址。图片可以通过该地址保存到本地哦。

你猜的没错,我们的小爬虫抓取的正是网页中的数据,你要知道你想要抓取什么数据,你的目标网站是什么,才可以把想法变成现实的哦。你不能说,我想要这个这个,还有这个,然后数据就自动来了。。。(是不是让你想起了你的导师或老板?)

四、学习爬虫的必备知识
大家要先对以下内容有一定的了解再来学习爬虫哦,磨刀不误砍柴工

HTML
这个能够帮助你了解网页的结构,内容等。可以参考W3School的教程。

Python
如果有编程基础的小伙伴儿,推荐看一个廖雪峰的Python教程就够了
没有编程基础的小伙伴,推荐看看视频教程(网易云课堂搜Python),然后再结合廖雪峰的教程,双管齐下。
其实知乎上总结的已经非常好了,我就不多唠叨了。知乎-如何系统的自学Python

TCP/IP协议,HTTP协议
这些知识能够让你了解在网络请求和网络传输上的基本原理,了解就行,能够帮助今后写爬虫的时候理解爬虫的逻辑。
Python教程里也有简单介绍,可以参考:TCP/IP简介,HTTP协议
想更深入学习的小伙伴儿可以去网上多搜搜相关的书籍哦

这个很简单,一般实现方式就是所谓的接口调用,比如web service ,你可以建立自己的服务接口,比如httpserver ,只是开放一个接口,具体提供什么数据那就看你能或者想提供什么数据了,而别人只能通过这个接口得到想要的数据,但是他们无法访问你的后端数据库,这样就保证了你的数据是安全的。