写点什么

爬虫框架 Scrapy 应用实践 - 淘宝保险频道数据抓取【2】- 抓包分析

用户头像
hadesxiong
关注
发布于: 2020 年 06 月 01 日
爬虫框架Scrapy应用实践-淘宝保险频道数据抓取【2】-抓包分析

1.确定抓取内容



为了对淘宝的保险频道进行分析,我们需要对如下数据进行抓包:

  • 产品基本信息

  • 店铺基本信息

  • 产品销售数据

  • 产品保障数据

使用的工具以Chrome浏览器以及Postman来进行。

2.数据抓包-产品列表



打开淘宝保险频道,点击“搜保险”按钮,我们就可以访问到淘宝保险的产品列表页。

同时我们打开网页的调试器:

  1. 通过Network页面,可以看到产品列表页的Type为document,页面不是靠脚本和数据渲染而成的,所见即所得,我们可以直接通过GET方式请求获得页面数据。

  2. 通过Elements页面,我们可以找到下一页所在的页面元素为:

<a class="next " href="/nv/itemSearch.html?page=2&">下一页>></a>

然后我们通过Postman来对我们的分析进行验证,可以看到请求产品列表页成功,而且对比列表内容是符合的。





请求产品列表下一页,对比列表内容也同样符合,说明抓包分析正确。





3.数据抓包-产品信息/店铺信息



我们在产品列表里点击任一一款产品进入产品页面,这里我们以【中国人寿】实习保险实习生意外险大学生短期人身意外伤害险30天这款产品为例,同样是打开调试器,我们在Sources面板下,找到断点调试,然后在XHR/fetch Breakpoints上,勾选Any XHR or fetch,然后重载页面。

我们可以看到提示,页面在请求如下地址完成前被暂停了,地址为

https://baoxian.taobao.com/json/item/info.do?_ksTS=1590975601873_20&callback=jsonp21&item_id=527093996660





我们点击播放,发现页面被渲染完成了。





所以,像类似的产品详情页是通过脚本+数据渲染而成,详情的数据来源就是断点的地址。

我们再用Postman验证一下,同时我们对GET方式的入参进行下调整:

GET https://baoxian.taobao.com/json/item/info.do?item_id=ITEM_ID

结果如下:





我们将Response打印出来以后,发现基本上涵盖了产品详情页上所有的产品信息和店铺信息,以及产品销售数据的请求地址和产品保障信息的请求地址。

4.数据抓包-产品销售数据



我们可以直接用Postman验证下3中得到的“purchaseUrl”中得到的请求地址:

GET https://baoxian.taobao.com/json/item/purchaseList.do?item_id=ITEM_ID&seller_id=SELLER_ID

得到结果是正确的:





由于购买数据存在多页的情况,所以我们调整下入参请求地址,最终得到如下:

GET https://baoxian.taobao.com/json/item/purchaseList.do?item_id=ITEM_ID&seller_id=SELLER_ID&pageNo=PAGENO

得到结果如下:





5.数据抓包-产品保障数据



我们可以直接用Postman验证下3中得到的“insuredProjectUrl”中得到的请求地址:

GET https://baoxian.taobao.com/json/item/insuredProject.do?item_id=ITEM_ID

得到的结果是正确的:








到此,所需数据的抓包分析基本都已经完成了,下一步我们就要开始对数据库进行建模以便我们合理的管理这些抓取的数据了。



发布于: 2020 年 06 月 01 日阅读数: 91
用户头像

hadesxiong

关注

不喜欢打游戏的产品汪肯定不是好的程序猿! 2020.05.19 加入

保险行业-产品经理/BA

评论

发布
暂无评论
爬虫框架Scrapy应用实践-淘宝保险频道数据抓取【2】-抓包分析