Linux企业级项目实践之网络爬虫(1)——项目概述及准备工作

时间:2023-03-08 16:12:53
Linux企业级项目实践之网络爬虫(1)——项目概述及准备工作

我们在学习了Linux系统编程之后,需要一些实战项目来提高自己的水平,本系列我们通过编写一个爬虫程序,将我们学习的知识进行综合应用,同时在实现项目的过程中逐渐养成一些有用的思维方式,并具有初步的软件开发思想。

网络爬虫是搜索引擎的一个重要基本功能。由于互联网上的信息非常庞大,我们借助搜索引擎很容易得到自己需要的信息。搜索引擎首先需要一个信息采集系统,即网络爬虫,将互联网上的网页或其它信息收集到本地,然后对这些信息创建索引。当用户输入查询请求的时,先对用户的查询请求进行分析,然后在索引库中进行匹配,最后对结果进行处理,返回结果。

Linux企业级项目实践之网络爬虫(1)——项目概述及准备工作

网络爬虫不仅是搜索引擎的重要组成部分,在信息采集、舆情分析、情报收集等一些需要进行数据采集的业务系统中也应用广泛。对数据的采集是对大数据进行分析的重要前提条件。

网络爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。

网络爬虫从一个初始的URL集合出发,将这些URL全部放入到一个有序的待提取URL队列里;然后从这个队列里按顺序取出URL,通过Web上的协议,获取URL所指向的页面,从这些已获取的页面中分析提取出新的URL,并将它们继续放入到待提取URL队列里,一直重复上述过程,获取更多的页面。

通过此项目,我们将学会几种思想:

1、  软件框架思想

2、  代码复用思想

3、  迭代开发思想

4、  增量开发思想

通过此项目,我们将会掌握并巩固以下技术要点:

1、Linux进程及调度

2、Linux服务

3、信号

4、Socket编程

5、Linux多任务

6、文件系统

7、正则表达式

8、shell脚本

9、动态库

另外我们还会学到一些额外的的知识:

1、  如何使用HTTP协议

2、  如何设计一个系统

3、  如何选择和使用开源项目

4、  如何选择I/O模型

5、  如何进行系统分析

6、  如何进行容错处理

7、  如何进行系统测试

8、  如何对源代码进行管理

我们的开发环境和工具:

CentOS6.5或Redhat 6.5

编辑环境:vim

编译工具:GCC