随着信息技术和互联网技术的快速发展,利用数据采集技术实现用户感兴趣的数据收集分析成为很多互联网公司研究讨论的热门话题。通过对基于京东商品的数据采集进行商品价格动态变化的需求进行调查分析,发现作为研究商品价格波动变化的重要补充,京东商品信息分析系统对当前电商的商品信息政策决定起着极强的辅助作用。本文通过实现京东商品信息分析系统,来更好的帮助互联网公司提升政策指导性,增加对商品价格的波动研究。
本系统采用Python开发技术,结合广泛使用的MYSQL作为后台存储数据库。利用面向对象的思想,采用业界流行的MVC体系结构即模型-视图-控制器,减少各层之间的耦合,并对未来团队合作开发大型商业应用程序进行实践锻炼。系统主要实现了数据采集模块和数据分析模块。本文通过需求分析、可行性分析、系统总体设计、详细设计和系统开发及测试完成了整个京东商品信息分析系统。本网站有效的提升了对京东商品价格波动数据分析力度,拉近了商品价格信息历史数据查询手段,更好地提升商品信息的准确度和活跃度。
![](https://i-blog.csdnimg.cn/blog_migrate/70908da9c926ddae99090cf5d52dd46d.png)
京东商品信息分析系统是当前网站商品信息管理方式的有效补充。现如今很多网站商品信息管理人员还在使用手工登记等方式进行商品数据管理,这种管理方式在数据量小的情况下,管理还是比较方便的。但是一旦形成数据规模后,这种原始的推荐方式进行数据的监控管理就会变得异常困难。当前大数据技术飞速发展,处于手工推荐的方式已经被慢慢的淘汰,利用数据动态的智能采集信息在走向潮流。
二十一世纪的今天,信息技术发展的广度和深度异常迅速。在原有技术出现与当前管理需要不匹配的情况时,新的技术会很快诞生并快速运用到当前的管理工作中。当前网站商品信息更新速度比之原来提升很多,要对商品信息进行全面的准确推送,手工方式已经不足以满足网站需求,为解决商品信息监控这一热点难点问题,本文以京东商城商品信息采集为例,开发设计京东商品信息分析西逃。本着为提升商品监控水平为出发点,通过调研实际情况,采用Python开发技术,采用MVC框架技术与MYSQL数据库,开发设计商品分析系统。京东商品分析系统不仅可以提升网站对商品价格信息动态监控,而且也对学生理论与实践相结合,综合运用所学专业知识提高分析问题解决问题的能力。
![](https://i-blog.csdnimg.cn/blog_migrate/51e71bde5218bf4b11c55a90bd97f071.png)
京东商品信息分析系统是针对互联网关注商品信息波动监控进行设计研发的,核心内容管理主要以自动采集监控商品信息为核心,重点解决关注商品信息的动态采集分析,为了尽可能使得系统通用处理,采用数据库中保存数据关键字信息、入库商品关键数据等信息,减少手工管理,为动态监管商品数据提供直观明了规范的商品变化情况信息,减少采用文件数据处理的杂乱和差错,快速准确地掌握商品变化情况。
京东商品信息分析系统主要面向普通用户,通过调查分析,系统主要的功能需求如下:
抓取网页:用于获取京东网页上的商品数据以及在爬取过程中模拟进行翻页、滑滚轮、键盘输入等操作;根据搜索的商品名获得该类商品全部的详细信息和价格。
数据存储:将爬取后的的商品详细信息保存到生成的文本文档和数据库。
数据整理:将获取的商品数据根据用户选择按照价格进行基本的排序便于进行可视化分析。
可视化分析:将得到的商品信息进行处理生成可视化图表。
![](https://i-blog.csdnimg.cn/blog_migrate/01d26f5436b73965b0f270bc2eba65e5.png)
整个系统分为网页抓取模块、数据存储模块、数据整理模块和数据分析模块。网页抓取模块:实现对网页数据的抓取采集;数据存储模块:实现对采集的数据进行及时入库;数据整理模块:实现对入库的数据进行格式化规范整理,为数据分析做好基础工作;数据分析模块:主要用来进行对规范化处理后的数据进行可视化展示。
本系统因抓取的是特定主题的商品信息数据,完全符合主题型爬虫。根据主题型爬虫技术,进行如下技术分析:通过深入研究相关网页结构,利用selenium自动化对网页进行分析,并获得网页上相关的数据。利用相关技术,获得返回数据,并将获取到的数据进行可视化分析。通过利用selenium自动化对网页操作进行模拟,获得网页上所需的数据。从京东首页通过预设的定制的网页页面数据分析算法,利用对应的策略筛掉和预定的主题没有关联的网页链接,仅仅把和预定主题有关的网页链接信息存入系统的尚未进行爬取的待爬队列中,通过selenium模拟用户操作在搜索框内输入所需要商品的名称并点击搜索按钮,进入对应商品的搜索结果页面并根据对应的xpath获取该类商品的各种信息并保存。然后再依据开始前已预设指定的爬取下载对应网页的算法依次爬取存放于待爬取队列中的各页面URL地址。
聚焦网络爬虫的设计初衷就是为了满足不同用户在特定领域获取其想要的特定信息。由于只需爬取相关主题信息,对硬件等处理资源与网路资源的节省的效果是显而易见。但在做主题爬虫之前要做的一件事的就是对待爬取网页链接URL地址以及网页内容通过特定算法进行分析。
聚焦爬虫即主题爬虫算法一般情况下存在如下决策机制:
(1)根据链接本身的分析:通常会使用如下两种计算方法,PageRank算法,其通过算法得到对应网页页面的PageRank值,之后再依据对应结果的大小顺序爬取。另一类方法是HITS算法,使用算法直接计算出之前已经爬取的网页的Authority和Hub值,并依据计算出来的值的大小来对其在爬取队列进行排序,最后根据顺序爬取。
(2)基于网页内容分析:鱼群搜索(Fish Search)算法,其原理是将部分网页的关键词作为主题去搜索,整合主题搜索策略与关键词策略,爬虫认为只要含有指定关键词的网页就是与需要找的主题相关的网页,然后将其抓取下来,但其存在一个明显的缺点就是不能计算出页面与关键词明确的关联度,会对之后抓取的结果造成影响。于是之后Herseovic在鱼群算法的基础上充分发挥该算法的优点针对其存在的缺点提出改进意见,增加通过使用空间向量来获得该网页与指定主题的关联度作为一个变量形成一个新算法。
(3)基于语境图:Diligenti等学者提出通过建立语境图(Context Graphs)的方法来培训机器使其能够在运行过程中自发获取记录相关网页的主题关联度,通过对比已获取的网页与当前网页之间的距离,距离大小的表示其与主题的关联度大小。在实例方面,IBM和印度理工大学合作开发了一款基于主题的典型主题爬虫,其通过使用一组相同主题的既定网页作为定义,然后使用分类器进行计算网页的主题关联度,其创造性的摒弃传统的关键词或是加权矢量来定义。
![](https://i-blog.csdnimg.cn/blog_migrate/eac260d2c4f5f740297436c127e9b307.png)
目录
1 绪论2
1.1研究背景2
1.2研究现状2
1.3研究内容3
1.4论文结构3
2 相关技术与系统分析5
2.1 相关技术5
2.1.1python概述5
2.1.2MySQL数据库概述5
2.1.3PyCharm集成开发环境6
2.1.4网络爬虫6
2.1.5Matplotlib图形库6
2.1.6数据库访问技术7
2.2 可行性分析7
2.2.1经济可行性分析7
2.2.2技术可行性分析7
2.2.3操作可行性分析8
2.3 需求分析8
2.3.1性能需求8
2.3.2功能需求8
3 系统设计9
3.1 系统功能设计9
3.2 网页抓取设计10
3.3 数据存储设计10
3.4 数据整理设计11
3.5 数据分析设计11
3.6 数据库设计11
3.7 爬虫算法设计12
4 系统实现14
4.1 系统设计思想14
4.2 网页抓取实现14
4.3 数据存储实现16
4.4 数据整理实现17
4.5 数据分析实现18
5 系统测试20
5.1 测试方法20
5.2 测试用例20
5.2.1网页数据抓取测试20
5.2.2数据分析功能测试21
结 论21
参考文献23
致谢24