为了给女朋友买件心怡内衣,我用Python爬虫了天猫内衣售卖数据

本文作者:躲猫猫的猫

原文链接:https://www.cnblogs.com/zhaww/p/9636383.html

真爱,请置顶或星标

640?wx_fmt=jpeg

大家好,希望各位能怀着正直、严谨、专业的心态观看这篇文章。ヾ(๑╹◡╹)ノ"

接下来我们尝试用 Python 抓取天猫内衣销售数据,并分析得到中国女性普遍的罩杯数据、最受欢迎的内衣颜色是什么、评论的关键字。希望看完之后你能替你女朋友买上一件心怡的内衣。我们先看看分析得到的成果是怎样的?(讲的很详细,推荐跟着敲一遍)
  

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

(买个内衣这么开心)

图片看不清楚的话,可以把图片单独拉到另一个窗口。这里是分析了一万条数据得出的结论,可能会有误差,但是还是希望单身的你们能找到 0.06% 那一批妹纸。下面我会详细介绍怎么抓取天猫内衣销售数据,存储、分析、展示。

  • 研究天猫网站

  • 抓取天猫评论数据

  • 存储、分析数据

  • 可视化

研究天猫网站

我们随意进入一个商品的购买界面(能看到评论的那个界面),F12 开发者模式 -- Network 栏 -- 刷新下界面 -- 在如图的位置搜索 list_ 会看到一个 list_detail_rate.htm?itemId= ….

如下图:【单击】这个url 能看到返回的是一个 Json 数据 ,检查一下你会发现这串 Json 就是商品的评论数据 ['rateDetail']['rateList']

640?wx_fmt=png

【双击】这个url 你会得到一个新界面,如图

640?wx_fmt=png

看一下这个信息

640?wx_fmt=png

这里的路径 就是获取评论数据的 url了。这个 URL 有很多参数你可以分析一下每个值都是干嘛的。

itemId 对应的是商品id, sellerId  对应的是店铺id,currentPage 是当前页。这里 sellerId  可以填任意值,不影响数据的获取。

抓取天猫评论数据

写一个抓取天猫评论数据的方法。getCommentDetail

 

这里需要注意的是 jsonp128 这个值需要你自己看一下,你那边跟我这个应该是不同的。

在上面的方法里有两个变量,itemId 和 currentPage 这两个值我们动态来控制,所以我们需要获得 一批 商品id号 和 评论的最大页数 用来遍历。

写个获取商品评论最大页数的方法 getLastPage

 

那现在怎么获取 产品的id 列表呢?我们可以在天猫中搜索商品关键字 用开发者模式观察

640?wx_fmt=png

这里观察一下这个页面的元素分布,很容易就发现了 商品的id 信息,当然你可以想办法确认一下。

640?wx_fmt=png

现在就写个 获取商品id 的方法 getProductIdList

 

现在所有的基本要求都有了,是时候把他们组合起来。

在 main 方法中写剩下的组装部分

 

所有的代码就这样完成了,我现在把 common.py 的代码,还有 tmallbra.py 的代码都贴出来

 

上面需要注意,数据库的配置。

 

存储、分析数据

所有的代码都有了,就差数据库的建立了。我这里用的是 MySql 数据库。

 

这里有两个地方需要注意, comment 评论字段需要设置编码格式为 utf8mb4  ,因为可能有表情文字。还有表需要设置为 utf8 编码,不然存不了中文。

建好了表,就可以完整执行代码了。(这里的执行可能需要点时间,可以做成多线程的方式)。看一下执行完之后,数据库有没有数据。

640?wx_fmt=png

数据是有了,但是有些我们多余的文字描述,我们可以稍微整理一下。

 

这里需要根据自己实际情况来修改。如果数据整理的差不多了,我们可以分析一下数据库的信息。

 

 

640?wx_fmt=png

  (想知道是哪6位小姐姐买的 G       (~ ̄▽ ̄)~ )

数据可视化

数据的展示,我用了是 mycharts 模块,如果不了解的可以去学习一下http://pyecharts.org/#/zh-cn/prepare

这里我就不细说了,直接贴代码看

 

这一章就到这里了,该知道的你也知道了,不该知道的你也知道了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值