互联网购物现在已经是非常普遍的购物方式,在互联网上购买商品并且使用之后,很多人都会回过头来对自己购买的商品进行一些评价,以此来表达自己对于该商品使用后的看法。商品评价的好坏对于一个商品的重要性显而易见,大部分消费者都以此作为快速评判该商品质量优劣的方式。所以,与此同时,有些商家为了获得好评,还会做一些 "好评优惠" 或者 "返点" 活动来刺激消费者评价商品。

既然商品评价对于消费者选购商品而言至关重要,那么我想试试可以从这些评价信息中获取到怎样的价值,来帮助消费者快速获取到关于该商品的一些重要信息,给他们的购物带来更加可靠地保证?

所以,我认为,一种快速、全面、高提炼度和高对比度的信息获取和展示方式将会非常必要。 于是,我采用分布式快速抓取京东的评价信息,然后使用 pandas 对抓取到的数据进行分析。

话不多说先附上使用地址
体验地址:http://awolfly9.com/jd/

想要分析京东商城的商品评价信息,那么需要做些什么呢

采用分布式抓取,尽量在短时间内抓取需要分析的商品足够多的评价信息 
将抓取到的评价信息都存储到数据库
从数据库中取出所有数据进行数据分析

  • 生成好评的词云,并且获取关键字

  • 生成中评的词云,并且获取关键字

  • 生成差评的词云,并且获取关键字

  • 分析购买该商品不同颜色的比例,生成柱状图

  • 分析购买该商品不同配置的比例,生成柱状图

  • 分析该商品的销售数量和评论数量和时间的关系,生成时间则线图

  • 分析该商品不同省份购买的的比例,生成柱状图

  • 分析该商品不同渠道的销售比例,生成柱状图

利用 Django 搭建后台,将数据抓取和数据分析连起来
前端显示数据抓取和分析结果

分布式抓取京东商城的评价信息

采用分布式抓取的目的是快速的在短时间内尽量抓取足够多的商品评价,使分析结果更精确

以 iPhone7 https://item.jd.com/3995645.html 为例,通过 Chrome 抓包分析出京东商城的评价请求 URl https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv2940&productId=3995645&score=0&sortType=5&page=1&pageSize=10&isShadowSku=0
找出评价请求 URL 规律,获取到如下 URL 组合链接
利用 Chrome 插件 Postman 测试链接是否可用,发现京东获取评价信息并没有验证 Cookie 之类的反爬措施
开始编码利用 scrapy 抓取京东商城的商品评价信息并存入数据库以备使用

数据分析

从数据库中取出相应数据,开始分析
使用 python 的扩展库 wordcloud 分别提取好评、中评、差评的关键字,并且生成相应的词云图片
分析该商品不同颜色的销量占比,并且生成柱状图,例如 iphone7 的不同颜色金色、玫瑰金色、银色、黑色、亮黑色、还有最新出的红色的占比
分析该商品不同配置的销量占比,并且生成柱状图,例如 iphone7 32G 、 64G、128G 存储
分析该商品销售和评论时间并且生成折线图,分析出商品在什么时间最畅销
分析用户购买该商品的渠道,例如用户通过京东 Android 客户端、微信京东购物、京东 iPhone 客户端购物的比例,并且生成柱状图
分析购买该商品的用户的地域省份。例如北京、上海、广州那个城市在京东上购买 iPhone7 的人更多
将以上分析结果都存储保留

Django 后台 WEB

使用 Django 搭建一个简易的后台 jd_analysis,将分布式抓取数据和数据分析连起来,并且将分析结果返回前端显示。

jd_analysis 提供一个接口接受用户请求分析的京东商城商品的 URL 链接
jd_analysis 接受到商品链接后开启爬虫进程开始抓取需要分析的商品的名称和评价数量
组合出完整的评价链接插入到 redis 中,实现分布式爬虫抓取,尽可能在短时间内抓取足够多的该商品评价信息(我现在是 30s 时间大概可以抓取 3000 条评价信息)
主服务器等待一定的抓取时间,例如主服务器等待 30s,30s 后一定要给前端返回分析结果,所以等 30s 后清空 redis 中该商品的链接,从服务器没有读取不到需要抓取的链接也就自动关闭
开启分析进程,开始分析抓取到的所有数据,并且生成图标等信息

前端展示

在客户端第一次请求时,生成一个 GUID,并且存储在 cookie 中。然后开启一个定时器,带上 GUID 不断的向 jd_analysis 后台请求结果。jd_analysis 后台利用请求的 GUID 从 redis 中获取抓取信息和分析结果的所有内容,返回给前端。前端显示请求到的结果。

最后附上两张效果图

购买和评论时间折线图

购买渠道柱状图

大功告成

以上就是完整的抓取京东商品的评价信息并且使用 pandas 分析评价然后利用 Django 搭建后台前端显示抓取和分析结果的所有步骤。

原文发布时间为:2017-04-19

本文作者:awolfly9

本文来自云栖社区合作伙伴“Python中文社区”,了解相关信息可以关注“Python中文社区”微信公众号

Python分布式抓取和分析京东商城评价相关推荐

  1. python新闻评论分析_使用 python 抓取并分析京东商品评论数据

    本篇文章是python爬虫系列的第三篇,介绍如何抓取京东商城商品评论信息,并对这些评论信息进行分析和可视化.下面是要抓取的商品信息,一款女士文胸.这个商品共有红色,黑色和肤色三种颜色, 70B到90D ...

  2. pythonallowpos_利用Python抓取并分析京东商品评论数据

    2.1 内容简介 本章主要介绍如何利用Python抓取京东商城商品评论信息,并对这些评论信息进行分析和可视化.下面是要抓取的商品信息,一款女士文胸.这个商品共有红色,黑色和肤色等颜色, 70B到90D ...

  3. 如何用python抓取文献_浅谈Python爬虫技术的网页数据抓取与分析

    浅谈 Python 爬虫技术的网页数据抓取与分析 吴永聪 [期刊名称] <计算机时代> [年 ( 卷 ), 期] 2019(000)008 [摘要] 近年来 , 随着互联网的发展 , 如何 ...

  4. python 自动抓取分析房价数据——安居客版

    引言 中秋回家,顺便想将家里闲置的房子卖出去.第一次卖房,没经验,于是决定委托给中介.中介要我定个价.最近几年,房价是涨了不少,但是长期在外,也不了解行情.真要定个价,心里还没个数.网上零零散散看了下 ...

  5. NetCloud——一个网易云音乐评论抓取和分析的Python库

    在17的四月份,我曾经写了一篇关于网易云音乐爬虫的文章,还写了一篇关于评论数据可视化的文章.在这大半年的时间里,有时会有一些朋友给我发私信询问一些关于代码方面的问题.所以我最近抽空干脆将原来的代码整理 ...

  6. 《Learning Scrapy》(中文版)第11章 Scrapyd分布式抓取和实时分析

    序言 第1章 Scrapy介绍 第2章 理解HTML和XPath 第3章 爬虫基础 第4章 从Scrapy到移动应用 第5章 快速构建爬虫 第6章 Scrapinghub部署 第7章 配置和管理 第8 ...

  7. Python+BeautifulSoup抓取暴走漫画页面图片

    使用Python中的BeautifulSoup(bs4)包抓取暴走漫画网站中的热门帖子中的图片. 首先附上参考资料,之前在OSC上有人写了个抓取豆瓣妹子图片的帖子,参考人家的代码,自己重新弄了一下,当 ...

  8. Python 多线程抓取网页 牛人 use raw socket implement http request great

    Python 多线程抓取网页 - 糖拌咸鱼 - 博客园 Python 多线程抓取网页 最近,一直在做网络爬虫相关的东西. 看了一下开源C++写的larbin爬虫,仔细阅读了里面的设计思想和一些关键技术 ...

  9. python爬虫招聘-Python爬虫抓取智联招聘(基础版)

    原标题:Python爬虫抓取智联招聘(基础版) 作者:C与Python实战 「若你有原创文章想与大家分享,欢迎投稿.」 对于每个上班族来说,总要经历几次换工作,如何在网上挑到心仪的工作?如何提前为心仪 ...

最新文章

  1. centos 7 如何验证oracle安装成功_linux下Oracle数据的安装详解
  2. Freemaker FTL指令常用标签及语法
  3. java get方法报空指针_面试的哪些事儿之JAVA程序员面试笔试题(一)
  4. Python 中的 lstrip、rstrip、strip
  5. obj: object是什么意思_面试官问你JavaScript基本类型时他想知道什么?
  6. SpringBoot注解大全
  7. 使用gluoncv.model_zoo进行目标检测
  8. 《网站安全攻防秘笈》摘录
  9. substring()分解字符串
  10. Dubbo学习总结(4)——Dubbo基于Zookeeper实现分布式实例
  11. 华为Mate8刷低Android版本,华为mate8怎么刷机 华为mate8刷机方法【图文教程】
  12. NLP面试复盘 | 阿里/腾讯/头条/paypal/快手
  13. Android Support Annotation Library使用详解
  14. 图文并茂带你了解依存句法分析
  15. 多元函数法曲率和主曲率的几何解释
  16. matlab 图例 显示几个,matlab图例拆分成两个多个分别显示
  17. Mac 阻止搜狗输入法偷偷更新
  18. VTK笔记——医学图像等值面提取(Marching Cubes)
  19. flask中的可拨插视图
  20. 《数据结构与算法基础 严蔚敏版》第一章 绪论

热门文章

  1. B站股权曝光:陈睿持股12.6%有42%投票权 腾讯阿里是股东
  2. 杭州市下沙区PHP招聘_【杭州下沙】杭州下沙招聘|待遇|面试|怎么样-看准网
  3. Python多线程编程(详细:适合小白入门)
  4. PV操作每日一题-售票问题
  5. 【蓝桥杯】Python基础:经济基础决定上层建筑!
  6. 必应地图api文档,微软必应地图web开发版详解,可以在国内使用国外地图
  7. 基于HMI串口屏的协议(STM32)
  8. STM32复习笔记(十八) —— 高级定时器(输出比较)
  9. EVPN小实验:集中式EVPN网关配置
  10. java中1%4是多少_java语言程序设计基础篇课后编程练习答案2~4章