基于Web的爬虫系统设计与实现

简介: q

目 录
1 绪论 1
1.1 选题背景及意义 1
1.1.1选题背景 1
1.1.2目的及意义 1
1.2 国内外发展现状 2
1.2.1 爬虫技术概述 2
1.2.2 爬虫设计者所面临问题和反爬虫技术的现状 4
1.3 研究主要内容 7
1.4 章节安排 8
2 系统开发环境及技术介绍 9
2.1 Robot协议对本设计的影响 9
2.2 爬虫 10
2.2.1 工作原理 10
2.2.2 工作流程 10
2.2.3 抓取策略 10
2.3 Scrapy架构 11
2.3.1 Scrapy:开源爬虫架构 11
2.3.2 Scrapy框架结构 11
2.3.3 两种继承的爬虫模式 13
2.4 MongoDB数据库 14
2.4.1 NoSQL数据库介绍 14
2.4.2 MongoDB数据库介绍 15
2.5 python web框架Django 15
2.5.1 Django框架介绍 15
2.5.2 MTV模式 15
2.5.3 ORM模式 15
2.5.4 template模板语言 16
2.5.5 Django工作机制 16
2.6 semantic UI开发框架 17
2.6.1 semantic介绍 17
2.6.2 semantic开发 17
2.7 高德地图API 17
3 可行性分析及需求分析 19
3.1 业务需求分析 19
3.2 功能性需求分析 19
3.2.1 数据爬取功能 19
3.2.2 数据可视化功能 20
3.3 可行性分析 21
3.3.1 技术可行性 21
3.3.2 经济可行性 21
3.3.3 法律可行性 22
4 总体设计 23
4.1 系统逻辑层次 23
4.2 系统分布式设计 24
4.3 系统功能设计 25
4.4 系统数据库设计 26
4.4.1 数据库环境搭建 26
4.4.2 数据库表设计 27
5 功能模块的设计与实现 28
5.1 数据爬取模块 28
5.1.1 爬取策略的设计 28
5.1.2 网页数据提取 30
5.1.3 去重与增量爬取 32
5.2 反反爬虫模块 33
5.2.1 模拟浏览器行为 33
5.2.2 动态代理IP 35
5.2.3 爬虫异常处理 36
5.3 数据存储模块 37
5.4 数据可视化模块 38
6 功能模块测试 42
6.1 测试环境及工具 42
6.2 系统功能测试 42
6.2.1 数据爬取功能测试 42
6.2.2 数据存储功能测试 44
6.2.3 数据反反爬虫功能测试 46
6.2.4 数据可视化功能测试 47
结束语 48
参考文献 49
致谢 50
3 可行性分析及需求分析
3.1 业务需求分析
本次通过对链家网广州二手房房源网站进行了研究分析,目标实现一个房源信息爬取的系统。本系统被用来解决互联网上关于房源信息繁杂,房源信息分散,无法通过短时间的用户浏览获得所需要的所有数据,其房源推荐系统数据来源严重不足等问题。本系统的目标是将链家网广州二手房的房源数据爬取下来,存储为较为干净的数据源,为房源推荐系统和数据分析者提供房价分析所需要的数据。
本系统的基本业务是围绕二手房房源信息展开的,应该完成的基本业务功能应该包括两方面的内容:
1.系统需要爬取链家网上的二手房房源信息
本系统本身并不生成房源信息数据,它所获得的房源数据来源是互联网房屋交易网站链家网。因为链家网并不向用户开放自己的数据库,所以系统需要通过爬取技术将来源网站上的所需数据获取得到。
————————————————

相关文章
|
1月前
|
数据采集 存储 Python
python实现 Web 爬虫。
python实现 Web 爬虫。
31 1
|
1月前
|
数据采集 数据可视化 数据挖掘
使用Python编写Web爬虫实现数据采集与分析
在当今信息化时代,数据是企业发展和决策的重要依据。本文将介绍如何使用Python编写Web爬虫来实现对特定网站数据的自动采集,并结合数据分析技术,为读者展示如何利用爬虫技术获取有价值的信息并进行有效的数据处理和分析。
|
4月前
|
数据采集 安全 JavaScript
百度搜索:蓝易云【高防IP如何防止爬虫和Web攻击?】
总之,高防IP通过多种技术和策略的综合应用,提供了强大的防御能力,可有效防止爬虫和Web攻击对服务器的威胁。它能够识别恶意流量、限制访问、拦截攻击和保护服务器的稳定性和安全性。
30 0
|
5月前
|
数据采集 JavaScript 前端开发
Web爬虫开发指南:使用Python的BeautifulSoup和Requests库
Web爬虫是一种从互联网上获取数据的自动化工具,它可以用于抓取网页内容、提取信息和分析数据。Python提供了一些强大的库,其中BeautifulSoup和Requests是两个常用的工具,用于解析HTML内容和发起HTTP请求。本文将介绍如何使用BeautifulSoup和Requests库构建一个简单而有效的Web爬虫。
|
数据采集 Go
Golang:colly 采用 Go 语言编写的 Web 爬虫框架
Golang:colly 采用 Go 语言编写的 Web 爬虫框架
117 0
Golang:colly 采用 Go 语言编写的 Web 爬虫框架
|
测试技术 iOS开发
Flutter Web网站之最简方式实现暗黑主题无缝切换
Flutter Web网站之最简方式实现暗黑主题无缝切换
268 0
Flutter Web网站之最简方式实现暗黑主题无缝切换
|
消息中间件 网络协议 前端开发
SpringBoot轻松整合WebSocket,实现Web在线聊天室
前面为大家讲述了 Spring Boot的整合Redis、RabbitMQ、Elasticsearch等各种框架组件;随着移动互联网的发展,服务端消息数据推送已经是一个非常重要、非常普遍的基础功能。今天就和大家聊聊在SpringBoot轻松整合WebSocket,实现Web在线聊天室,希望能对大家有所帮助。
SpringBoot轻松整合WebSocket,实现Web在线聊天室
|
JSON 算法 数据安全/隐私保护
Python:使用PyJWT实现JSON Web Tokens加密解密
Python:使用PyJWT实现JSON Web Tokens加密解密
250 0
|
Python
Python 实现Web隐藏目录扫描
**Web隐藏目录扫描:** 首先你需要自己寻找一个靠谱的字典,放入脚本根目录并命名为`dict.log`每行一个路径名称.
132 0
|
安全 算法 生物认证
Python 实现Web容器指纹识别
当今的Web安全行业在进行渗透测试时普遍第一步就是去识别目标网站的指纹,从而进一步根据目标框架进行针对性的安全测试,指纹识别的原理其实很简单,目前主流的识别方式有下面这几种。
467 0
Python 实现Web容器指纹识别