万物皆比特,所有可见的,都是信息、是数据、是比特在流动。
——嗯,其实是我说的。
企业是企业家思维空间的产物,产品是产品经理思维空间的产物。
—— 不知道是谁说的。
可能用词不恰当,但用于记录初学者的理解,或许可以帮到门外人。
0 初见网页
要打开(访问)一个网页,在浏览器的地址栏输入地址,然后浏览器会返回一个页面。
后来有了网页目录,比如‘好123’等等,可以先打开这个页面,再点击访问目标,后来有了搜索引擎,网页目录的需求大大下降。
从使用页面的人来看,这个过程除了网速几乎是无感的,用什么浏览器倒成了使用的主角。
好123本身也是一个网页产品最终,我们只是为了看到网页上的内容,过程如何,不在关注之列。
今天来关注一下这个过程:输入网址、(回车)、(等待网络响应)、内容出现在浏览器上,按着各种对齐、大小样式(而没有混乱排列)。
一个页面,开发者首先会确认这个页面的功能是什么:是用于展示一篇文章?展示一个产品?还是用于注册等等,再去设计它应该长什么样子,并让设计师在满足功能的基础上,设计对应的布局装饰(字体、间距、图标……)、再交给工程人员用工程语言把上述信息流展示出来。
网页的工程语言,通常是HTML。——我们在打开的页面上右键—检查网页源代码即可见到。
网页Hello word! from 廖雪峰1 爬虫是一只什么样的虫
通过好123,我们可以把‘输入网址’这一项省略:只需点击即可——点击目标名称(也就是一个链接),浏览器打开另一个链接——内容呈现出来。
爬虫就是重复上述我们的访问步骤。
理想的爬虫是这样一只不辞劳苦的虫子:
- 给它喂一个链接
- 它打开这个链接,并做两件事:1. 把获得的内容另存下来;2. 把这个页面上的链接存到一个待爬链接库中;
- 循环:从待爬链接库中拿出一个链接,重复第2步的事情
搜索引擎就是这么做的,创造出强劲的虫子门,孜孜不倦的爬啊爬,存下来,分词解析,等有人输入关键词的时候,匹配出主体最符合的页面,返回对应的链接。
大部分时候我们用爬虫并不是为了做个搜索引擎,而只是为了获得固定的目标数据。
A. 比如好123上的全部网站目录:这时我们只需要爬这一个页面就够了。
B. 比如某个淘宝产品评论:这时候我们只需要把这个产品评论页面一页一页翻下去就行了——而这个页面URL是有规律的。
C. 比如我们需要爬淘宝全站的奶粉产品评论:嗯,此处删掉100字,真的删掉了。
另外:绝大部分时候我们并不会存下网页上的全部元素。
如上所示,
A :我们只会存其中的网站名称、网站链接
B :我们只会存下评论、评论时间等等和评论相关的元素
这个时候,我们就需要对网页元素进行拆解(解析):比如hello word这个网页,我们需要摘出这个标题时,就得看网页源代码,把标题中的文字取出来:标题通常在<title>、<h1> 类似的字符(html标签)之间。
所以,我们实用的爬虫通常比理想的爬虫多两步:
- 0.所宽的链接库是有限的;
- 4.爬到的内容要做拆解、只存需要的内容
之前写过的爬虫入门在这:动手写爬虫系列
2 在线网页是如何做出来的
爬虫实际上是一个反网页制作的过程:爬虫爬下并拆解内容,其中一部分是去前端结构的过程,最终获得的数据,实际上就是制作这个网页所需的数据(包括存在数据库里的数据、设计师设计的图片等等)。
以好123为例:除去产品的功能层面的设计,一个网页的制作大致可划分成如下过程:
- 设计师根据产品设计(被我除的那部分)来设计这个页面长什么样子;
- 把设计图切图成一个个网页元素:比如标题对应标题,一个网站名对应一小块区域,前端工程师的样式(CSS样式)也就出来了
- 页面每个网页元素对应要获取哪些数据(实际上在最开始就会确定哪一部分需要显示什么格式的数据):图片的、文本的、数字的、……
- 后端把这些数据整理成约定好的格式,反馈给前端:通过数据库取数、整理成所需的格式,或直接反馈,有些数据是直接写在前端HTML的,比如标题等等。
出现了一些看不懂的词:前端、后端。
这里填下坑:简单理解(不一定完全正确)前端是运行在用户所见的部分,后端并不运行在用户端上,而是在服务器端准备数据的过程。
(这里又是一个坑,现在填不了,囧)页面制作完成后,在本地可以打开,远程只需访问该机的ip+链接即可。那如果发布在一个域名服务器上,就可以通过网址进行访问了。
3 产品 = 思维or功能or定位…… + 数据流
产品首先是一个思维空间中的产物:它的定位、它将用于什么?它如何满足这些用法?它的动作流程是什么?…… 落到最后,是一个一个的页面来满足这些功能。而每一个页面到另一个页面,每一个页面中,都是数据流。(所以这里又是一个坑 ……)
网友评论