网络爬虫的设计与实现
I
摘 要
网络爬虫将下载的网页和收集到的网页信息存储在本地数据库中以供搜索引擎使用,它是一个专门从万维网上下载网页并分析网页的程序。随着网络的快速发展,人们对搜索引擎的要求也越来越高,而网络爬虫的效率直接影响着搜索引擎的质量。
本课题研究的是通用网络爬虫,它是从一个或若干个初始网页的链接开始进而得到一个链接队列。伴随着网页的抓取又不断从抓取到的网页中抽取新链接放入到链接队列中,直到爬虫系统满足了停止条件。该课题主要涉及到了缓冲池技术,多线程技术,套接字技术,HTTP和SSL协议,正则表达式,Linux网络编程技术,PHP+Apache的使用等相关技术。
本说明书叙述的网络爬虫是以Linux C实现的,加以PHP语言编写的界面使用户更加方面的操作,利用Shell脚本和Apache服务器使得爬虫系统和界面很好的结合在一起。
关键词:网络爬虫 缓冲池 正则表达式 SSL协议 多线程
II
目 次
1 引言.......................................................................................................................... 1 1.1 课题选题背景 .................................................................................................. 1 1.2 课题研究的意义 .............................................................................................. 2 2 需求分析.................................................................................................................. 3 2.1 功能需求分析 .................................................................................................. 3 2.2 系统性能分析 .................................................................................................. 4 3 系统设计.................................................................................................................. 5 3.1 系统工作流程图 .............................................................................................. 5 3.2 数据结构设计 .................................................................................................. 6 3.3 系统各功能流程图 .......................................................................................... 7 4 系统实现................................................................................................................ 10 4.1 相关技术分析 ................................................................................................ 10 4.2 系统功能模块的实现 .................................................................................... 11 5 测试与结果............................................................................................................ 17 结论.............................................................................................................................. 23 致 谢.......................................................................................... 错误!未定义书签。 参 考 文 献................................................................................................................ 24
III