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



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

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


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

    网络爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的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

  • 相关阅读:
    app分析报告试验
    NABCD模式试验
    课堂练习
    学生管理系统测试计划及测试矩阵
    图书管理系统活动,时序图
    图书借阅测试用例UML图
    风险分析
    需求规格说明说
    PM的定义跟功能说明模块
    需求分析-NABCD
  • 原文地址:https://www.cnblogs.com/new0801/p/6177009.html
Copyright © 2020-2023  润新知