Python告诉你iPhone X有多热卖(附代码)

转载 2017年12月15日 00:00:00

專 欄

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


❈强哥,Python中文社区专栏作者,曾供职于摩根士丹利(Morgan Stanley)和eBay。❈
    

        我们用Python来爬取淘宝店铺的数据,分析一下iPhone X到底有多热卖。先来看下淘宝上的销量数据长什么样。

0?wx_fmt=jpeg

        淘宝上的销量数据有两种方式估算,一种方式是用累计付款人数近似销量,像下面这种显示在这个数字里的每个人都至少购买了一部手机,所以总销量一定大于等于累计付款人数。

0?wx_fmt=jpeg

        淘宝上并不是每一家店铺都显示累计付款人数,对于下面这种只显示评论数的情况就只能用评论数来估算销量了,具体怎么估算后面会提到。

        知道怎么获得销量数据,接下类我们就开始爬数据了。我们要爬的数据藏在下面高亮的URL里。

0?wx_fmt=jpeg

        我们用Python的Scrapy框架来实现一个爬虫,爬取不同搜索页的URL,爬虫代码如下:

0?wx_fmt=png

0?wx_fmt=png

        我们爬得温柔点,这里设了爬完一次休息2秒再爬。爬完的数据存入了mongodb,接下来我们将数据从mongodb中读出来,去除不相关的产品和重复的产品,估算一下缺失累计付款人数商品的销量数据,然后统计总的销量和销售额。

        这里重点讲述一下怎么用评论数来估算商品销量。淘宝上的商品的评论只有在购买成功后才能添加,一次购买行为最多对应一条评论(首评,追评都会归结到一条)。按常理分析,商品累计付款人数和评论数应该呈正相关的关系。

        我们提取mongodb里累计付款人数大于0并且评论数大于200的商品。销量太少的商品的评论数量可能会存在一定随机性,因此我们限定用于分析的商品的评论数必须大于200。用散点图画出累计付款人数和评论数的关系,如下:

0?wx_fmt=jpeg

        上图横轴是评论数,纵轴是累计付款人数,累计付款人数和评论数还是呈现很明显的正相关关系的。我们用线性来拟合这个关系,对于那些只有评论数的商品,我们用拟合出来的公式来推算该商品的累计付款人数,由此来估算销量。

        数据分析部分的代码如下:

0?wx_fmt=png

0?wx_fmt=png

        上面这段代码有如下的输出:

0?wx_fmt=png

        可以看到,至今为止,iPhone X在淘宝上共卖出了19万部,销售额达到了16亿多。

        这个销售量到底什么水平呢?我们可以统计一下差不多同期上市的几款手机的销量,做个比较。用同样的方法,我们从淘宝上爬取了iPhone 8,华为Mate 10,小米Mix 2的销量数据,将它们和iPhone X放在一起做比较,有如下的数据:

0?wx_fmt=jpeg

0?wx_fmt=jpeg

        可以看到iPhone X无论在销量还是销售额上都遥遥领先,远远超过其他手机。

        当然淘宝只是iPhone X的一个销售平台,同样在销售iPhone X的还有京东,苏宁,苹果线上和线下的实体商店等。由于很多大平台并不公开销量数据,要统计iPhone X总的销售量还有很大的难度。但根据之前新闻报道iPhone X开卖2小时招行销售额破20亿、双十一京东购机预约数量破200万、苹果商店门前排起长队、黄牛将一部手机价格炒到2万等这些来判断,这次的iPhone X一定是大受好评的。


640?wx_fmt=jpeg

长按扫描关注Python中文社区,

获取更多技术干货!

    

Python 中 文 社 区

Python中文开发者的精神家园

合作、投稿请联系微信:

pythonpost

— 人生苦短,我用Python —
1MEwnaxmMz7BPTYzBdj751DPyHWikNoeFS


640?wx_fmt=jpeg

<PY>iPad/iPhone上Python配置

第一步  IOS 7.1.1 越狱
  • awsxsa
  • awsxsa
  • 2014年06月28日 17:12
  • 1541

基于python的-爬取苏宁易购商品文本信息

from selenium import webdriver import time class SuNing(object): def __init__(self, num): ...
  • hs947463167
  • hs947463167
  • 2018年01月26日 21:08
  • 65

70.在Mac上打造方便好用的Python开发环境

在Mac上打造方便好用的Python和C的开发环境的方法。
  • a464057216
  • a464057216
  • 2017年02月18日 21:29
  • 12482

python在网购中的小应用

周末看到苏宁易购的抢购,研究了一下如果利用python做机器人来抢购 1.  抢购         先人工试验了一下,结果太低估了秒杀的设计了,不仅有复杂的验证码,而且还有问题回答, 回答问题:...
  • xkarl
  • xkarl
  • 2011年12月18日 01:53
  • 1893

Mac安装Python3 + PyQt5

对于iOS开发不要随便拆卸系统自带的Python,因为有很多 library 还是使用 Python2.7。 1 安装Xcode 1.1 App Store 搜索Xcode 并安装 1.2 ...
  • longchena
  • longchena
  • 2018年01月30日 12:44
  • 69

MAC OSX安装Python环境 + Visual Studio Code

MAC上开发python怎么能少得了python3环境呢,而安装python3环境的方式也有多种,这里仅选用并记录本人认为比较方便的方式 安装HomebrewHomebrew是macOS 缺失的软件包...
  • lincsdnnet
  • lincsdnnet
  • 2017年11月26日 15:50
  • 241

HDU1004-让气球上升

HDU1004-让气球上升 问题描述 再次比赛时间!看到气球在四周漂浮,有多兴奋。但是告诉你一个秘密,评委最喜欢的时间是猜测最流行的问题。比赛结束后,他们会统计每种颜色的气球并找出结果。 ...
  • m0_37591251
  • m0_37591251
  • 2017年11月13日 18:56
  • 180

几个小例子告诉你, 一行Python代码能干哪些事

首先你要了解一下Python之禅,一行代码输出“The Zen of Python”: 我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领...
  • qq_36510261
  • qq_36510261
  • 2017年11月01日 14:59
  • 188

使用Python抢IPhone7

使用Python抢IPhone7老婆的iphone5已经用了很多年,作为一个疼老婆的好男人,为老婆换手机是最近的工作重点。虽然苹果公司并不饥饿营销,但是新一代的IPhone总是特别抢手,刚出来的那一阵...
  • wstcdy0069
  • wstcdy0069
  • 2016年11月14日 14:15
  • 1108

MAC上下载新版本的python

因为mac上自带了python2.7以及一下版本,所以一些新的东西都不支持。 但是一些软件可能对于py2.7还有依赖,所以直接下载新的python还不能删除旧的python,所以下载完新python以...
  • weixin_34999632
  • weixin_34999632
  • 2016年11月04日 14:17
  • 144
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python告诉你iPhone X有多热卖(附代码)
举报原因:
原因补充:

(最多只允许输入30个字)