京东全网手机爬虫scrapy_redis及决策树数据分析

news/2024/11/30 3:50:02/

京东全网手机爬虫scrapy_redis及决策树数据分析

参考了实验楼并进行延伸

SqlServer版本:13.0.1742.0 (也可使用mongodb)
Python版本3.7.1
软件:Pycharm , Navicat , SSMS,RedisDesktopManager

项目架构:

爬虫scrapy_redis框架:Jdphone
jd_category.py (手机分类的名称以及网址) jd_product.py(手机详细信息)
数据分析:test
data_clean.py 清洗数据 analysis.py 图表分析
DesicionTree.py 决策树预测 GraphvizTree 决策树可视化
数据库表:
phone_url.sql phone_info.sql 清洗后:phone_info_cleaned.csv
在这里插入图片描述

京东手机销售数据分析:(回归CART)

第一步:爬虫爬京东手机各项数据(品牌,屏幕材料,内存,存储空间,电池容量
摄像头数,屏幕大小,评分,价格,评论数等)
第二步:存储到SqlServer数据库,转换输出成csv文件进行分析
第三步:通过pandas清洗数据,统计csv文件各类属性的数量
第四步:通过matplotlib以图表的形式可视化分析
第五步:用回归决策树(Regression Decision Tree) 预测 品牌,重量,评论等属性对价格的影响

问题及解决方案:

1.爬虫抓取手机参数,价格和评论写在动态js里,而其他属性大多在html里用xpath可以抓取。两个要同时兼并,最后把js的url写到html方法进行返回从而抓取。
2.保存数据到SqlServer数据库,之前保存到MongoDB全部当字符串即可,而sql需要考虑是否空值,如果强行获取不能存入数据库。还有pyssml模块导入由于python版本问题会有警告问题,可以忽略。(提前在数据库中建好表,再用insert语句插入)
3.数据清洗,首先把数据库文件以csv形式导出,然后用pandas和numpy对数据进行规范,因为决策树回归算法等需要用数值型,所以要把字符型转换,同时剔除无关词汇,思路简单但过程繁琐。
4.数据分析,数据项太多比如品牌 以至于图可能信息展示不完全。
5.运用决策树预测分析,由于部分数据为空以及差异太大,比如价格低至-1,高至4w,导入部分品牌平均绝对误差可能会大,但是绝大部分都在正常范围。

爬取:(7853, 25)
7853条手机数据,25条属性
分析:

品牌词云图
在这里插入图片描述

品牌饼图
在这里插入图片描述
结论:网商市场占比 华为>apple>飞利浦>小米>vivo>opple
和线下销售情形基本符合

属性关联度影响热图
在这里插入图片描述
结论: 此图只考虑了数值类属性,未考虑字符串如 年份 品牌 等
与价格关联度最高的有 好评率0.77 差评率0.7 评论数0.64 (可以都理解为评论数)
其他属性如 摄像头数 0.66 运行内存RAM 0.45 物理内存ROM 0.45
而 屏幕大小 重量 和 长度这些因素对价格的影响没有那么大

在这里插入图片描述

手机品牌对应价格图
结论:根据手机价格中位数来大致估计各品牌。
价格最高的是Vertu(奢侈品)–25000
偏高的有 8848 gemry(詹姆士) royole(柔宇) vetas kreta --均价12000 (轻奢)
大众品牌:苹果 --7000 华为 --3000 一加–4000 三星–6000 vivo–2000
而像 诺基亚 菲利普 这种品牌大多都是老人机 和我们固有的印象相符,平均价格在200,300左右

在这里插入图片描述
屏幕材料对应价格图

结论:从手机屏幕材料对应手机价格来判断关联度,如图示
价格依次排序:
OLED折叠屏–28000 XDR AMOLED-- 15000 a-si LCD --14000
Dynamic AMOLED (三星)–7000 OLED(华为) - 4000
LCD (vivo/小米) / LTPS (华为)–2000 IPS–1000 TFT(荣耀)–500

在这里插入图片描述
部分屏幕材料对应价格图
结论:由上图总结抽选了部分代表来分析价格分布。红色部分为IPS和TFT,这些材料大多应用于像诺基亚这种老年机和华为的低端机,基本价格都在1000多,而绿色部分为Dynamic AMOLED,对应的是三星这种屏幕好的手机,大多价格在4000多,而蓝色部分对应的是OLED ,对应的是苹果手机平均价格在7000左右,这和我们平常的认知相符。

通过DecisionTreeRegressor回归树分析一下模型的平均误差:
(总数据大概为7800条,下图为缺失数据,由上文中热图属性来分析重要属性,运存和内存缺失了三分之一,摄像头数缺失一半,评论虽然未缺失,但是未处理0这个数据可能会造成误差)
在这里插入图片描述

分析准确性:(以品牌为索引,分析其他属性对价格影响的平均误差率)
1.总评论数 和 好评数 以及重量的影响误差:
大部分误差都小于百分之十,说明评论和重量对价格的影响切实有效
在这里插入图片描述

2.运存 和 内存 的影响误差:
在这里插入图片描述

结论:可能因为运存和内存缺少数据二分之一太多,导致误差变大。

可视化
在这里插入图片描述


http://www.ppmy.cn/news/202460.html

相关文章

全球最昂贵的10大科技产品

原文链接 印度科技网站siliconindia汇总了科技领域10大空前昂贵的科技小玩意。以下这份榜单并非全球最昂贵的智能手机或者平板电脑,而是一些市场上有售的科技类小玩意以及消费电子周边设备,它们各个师出名门,价值不菲,昂贵的售价甚…

透过荣耀耳机的三重“炼金术”,重识TWS行业

疫情这三年,我用耳机听音乐的频率大大增加。在宏大叙事、动荡时局、说不清哪天就被隔离的日常面前,普通人想要兴兴头头地生活,属实不容易,而音乐就成了提升我生活质地的一种依托。 出于对TWS耳机的爱悦与期待,我用过来…

被曝欠薪又放长假,600亿科技巨头爆雷了

文 | 张佳儒 “我做投资以来,一个真正错失的项目”、“每次看到他们的好消息,我都心如刀绞。作为天使投资人的骄傲,被碾压得粉碎。” 这句话是徐小平说的,他错失的项目是柔宇科技。现在,不知道他还会不会心如刀绞。最…

如何写出有吸引力的软文?经典软文案例分析

快节奏的时代,消费者越来越难以接受硬广告的插播,软文广告的使用趋势逐渐上升。 为什么会选择软文广告?举一个简单的例子,比如你去市场买东西,两家店同时向你推销,一家说话中肯好听,还时不时拉家…

智旗:向小罐茶杜国楹学习如何做产品

(李翔详谈系列最新出版作品) 上海浦西疫情封控前,收到了李翔老师的《详谈杜国楹》,薄薄一本很快读完,对杜国楹其人其事有了更深更立体的感观与理解。 杜总的几次创业,从E人E本、8848手机到小罐茶&#xff0…

基于Python的网络爬虫与数据可视化分析

1 背景分析 在互联网技术迅速发展的背景下,网络数据呈现出爆炸式增长,对数据的应用需要在大量数据中记性挖掘搜索,搜索引擎结合这一需求就应运而生,不只是搜索数据信息,还要帮助人们找到需要的结果被人们所应用。信息…

搜索引擎case︱从搜索序列文本看高端商务车︱统计之都

朱雪宁(北京大学光华管理学院) 王汉生(北京大学光华管理学院) 摘要:本文对100万搜索引擎用户的13亿搜索序列文本进行探索分析,对高端车用户以及商学院人群做了描述对比,并针对用户搜索高端车品牌过程中的动态选择行为进行建模。…

Iphone4涨到2万,相对VERTU有里子,面子也便宜

经常转转中关村是非常有意思,新产品、新信息很有冲击力。昨天转了转,最有冲击力的莫过于iphone 4了。Iphone 4到底是有哪些创造性的东西,我自然也关心,当然没有想过现在买,才出来,肯定贵,不赶这…