如何爬取天猫评论数据

(本文原作于2016年3月5日,有删改)

(2019年7月21日更新:由于天猫商城获取商品评论数据的接口地址已发生改变,故文中的地址已失效。但如何找到获取商品评论数据的接口的方法依旧是有效的。)

一、原理

首先在浏览器地址栏中输入https://www.tmall.com/打开天猫商城,任意检索某一商品,以奶粉为例,搜索结果如下图所示:

天猫奶粉搜索结果

任意点开其中的某个商品:

这里写图片描述

这是我们常见的网页,由文字、图片和排版组成。现在将屏幕向下翻,直到看到“累计评价”,即下图中红色矩形圈起来的东西:

这里写图片描述

到目前为止这个页面没有任何评价信息,当用鼠标点击“累计评价”后,评价信息才会显示出来。信息并不会凭空产生,那么,这些信息是从哪里来的?显然是从服务器而来。具体的讲便是:

  1. 浏览器发送请求到服务器,告诉服务器自己需要显示某某商品的评论信息;
  2. 服务器接到请求,查询某某商品的评论信息;
  3. 服务器将查询到的评论信息发送给浏览器;
  4. 浏览器接收到评论信息,将其解析为符合人类阅读习惯的格式,显示在网页上。

现在来看看这一过程具体是如何实现的。需要用到流量监控工具,火狐浏览器按Ctrl+Q或F12可调出此工具。在火狐浏览器中,其界面如下:

这里写图片描述

页面下方的部分便是流量监控工具,它可以实时的显示该网页与外界通讯的情况,即流量。当然只会监控打开它之后的流量。主流浏览器都内置了此工具,可能会有不同的名称,但功能都大同小异,调出它的快捷键可能不同,但大都为F12。当然也有独立的功能更强大的专业流量监控工具,如WireShark等,不过这次使用浏览器内置的工具足矣。

以下部分强烈建议读者实际操作。网页结构经常会发生巨大改变,若在实践中发现有与下述不符的部分,实属正常。网页在变,但其原理不变。

我们利用流量监控工具来查看浏览器和服务器之间的通讯是如何完成的。在打开流量监控工具的情况下,点击“累计评价”,点击完成后可以看到流量监控工具捕捉到了许多数据包,即下图中红框框起来的部分:

这里写图片描述

其中每一行都是一个完整的通讯过程,包括了浏览器向服务器发出的请求和服务器返回的数据。可以看到,点击“累计评价”后,浏览器总共发出了9个数据包,请求不同的信息,也接收到了9个数据包,获得了不同的信息。用鼠标选中某一数据包,右键单击,再在弹出菜单中点击"Open in new tab”,就可以看到该数据包返回的文件的具体内容了。

但逐个查看,会发现评论信息并不存在于任何一个数据包中。这是因为流量监控工具只会监控打开它之后的流量,而第一页的评论在我们打开流量监控工具之前就已经加载了。现在我们先点流量监控工具右下角的“Clear”(这样做是为了减少无用的数据包,便于以后分析,不点也可以),然后将屏幕向下翻,点击“下一页”&

  • 19
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值