需要金币:2000 个金币 | 资料包括:完整论文 | ||
转换比率:金额 X 10=金币数量, 例100元=1000金币 | 论文字数:12127 | ||
折扣与优惠:团购最低可5折优惠 - 了解详情 | 论文格式:Word格式(*.doc) |
摘要:人们的信息查询主要依赖于搜索引擎,但是搜索引擎所查询的信息,大部分不是用户所需要的。搜索出来的信息,也只是包含搜索关键字的页面链接。用户真正需要的信息包含在页面内,其余的信息是用户所不需要的。并且当用户所查询出的信息数据,有的用户想把查询出来数据下载下来进行操作,这是搜索引擎做不到的,因为其中包含大量无用信息。这时候可以使用专门针对想要数据的网站的爬虫,这个爬虫针对需要的信息设计出专用型爬虫,爬取需要的数据。对爬取的数据开发者也能够进行数据的分析处理。 本课题将以爬取一个招聘网站为例实现一个爬虫,系统基于python语言开发。爬取的数据的存储,使用Mongdb数据库存储。针对网站的反爬虫技术,使用IP代理池,代理IP的存储使用Redis数据库。使用爬虫框架Scrapy提高爬虫的性能。 论文主要从网络爬虫背景、爬虫系统的设计、爬虫相关的技术介绍、整个系统软件测试等方面的软件开发过程,进行了相对详细的论述和说明。
关键词: 网络爬虫;python;Scrapy;Redis;MongoDB
目录 摘要 Abstract 1 绪论-1 1.1 课题的目的-1 1.2 国内现状和发展趋势-1 1.3 课题拟解决的关键问题-1 2 系统需求分析-3 2.1 功能需求分析-3 2.2 数据库需求分析-3 2.2.1代理IP地址池数据库需求分析-3 2.2.2爬虫信息数据库需求分析-3 2.3 系统性能需求分析-3 2.3.1 系统可靠性和安全性-3 2.3.2系统的可扩展性-4 2.3.3 系统的易维护性-4 2.4 开发环境需求-4 2.4.1 开发语言-4 2.4.2开发工具-5 2.4.3 数据库-5 3 概要设计-6 3.1系统体系结构图-6 3.1.1 IP代理池体系结构图-6 3.1.2 Scrapy爬虫体系结构图-6 3.2 业务流程图-7 3.3数据库设计-8 3.3.1MongoDB数据库设计-8 3.3.2Redis数据库设计-9 3.3.3Mysql数据库设计-9 4 详细设计与实现-11 4.1地址池模块具体实现-11 4.1.1存储模块-11 4.1.2获取模块-12 4.1.3检测模块-14 4.1.4获取模块-15 4.1.5 调度模块-15 4.2 Scrapy爬虫模块具体实现-16 4.2.1 Spider实现-16 4.2.2 item实现-18 4.2.3 pipeline实现-18 4.2.4 middlewares实现-19 4.2.5 setting配置-20 4.3爬虫界面实现-20 4.4 数据分析-21 4.4.1 学历要求分析-21 4.4.2 薪资分析-22 4.4.3 主要招聘城市分析-25 5 系统测试-27 6总结-28 参考文献-29 致谢-30 |