淘宝大家问 java爬虫练习

淘宝大家问 java爬虫练习淘宝大家问的爬取分析

需求: 由于公司需要做商品的大家问统计,就需要爬取几个店铺商品的大家问问题统计,接下来就看看爬取的步骤。
首先给出链接: 淘宝商品链接.

一个手机移动端的h5页面,后面的itemId根据自己的需要替换即可,请求过后,我们通过分析chrome里面的请求做进一步的解释
1.两个常规的GET请求
在这里插入图片描述

一下子就找到了请求的接口已经参数,接下来就是对请求参数的分析
在这里插入图片描述

appKey:淘宝请求appKey,不变
t:当前时间timestamp
sign:参数加密后的标识
api:请求的淘宝接口
v: 1.0(版本,不变)
ecode:0
AntiCreep:true
type: jsonp(跨域)
dataType: jsonp
callback: mtopjsonp1(主要用来控制返回分页数据)
data: {"itemId":"547642483558","wdjType":"1","size":5,"topicId":"0","pageNum":"1"}

别的信息都是好获取的,接下来的任务就是处理这个sign的加密了。
初步判断是通过请求参数的拼接然后通过算法来做sign的加密的,既然是页面段加密,那么就肯定存在于js之中,分析了一波请求,找到了这个js:
https://g.alicdn.com/mtb//??lib-flexible/0.3.2/flexible.js,lib-promise/3.0.1/polyfillB.js,lib-windvane/2.1.8/windvane.js,lib-login/1.5.8/login.js,lib-mtop/2.3.6/mtop.js,lib-env/1.9.9/env.js?v=34810523_40364,ctrl+f 找一下,直接就发现了sign的踪迹。
在这里插入图片描述

立马格式化一下js,研究分析加密方法,得出了加密规则
sign = MD5(cookieToken+appKey+now+data)
now 就是上面的t,data就是上面的data,appKey就是上面的appKey,那么这个cookieToken是什么呢?
分析一波js,找到了是函数里面从c= this.options cookieToken=d.token,对应于我们请求的request里面的token,那么我就要去request里面找了
在这里插入图片描述

处理一下之后,就可以获取cookie的token了:565dc2a459b86016a0d0e51fc04290cb
这样一来,基本上请求的问题解决了
但是直接模拟请求之后会发现报错:令牌缺失,研究了一下,是cookie缺少了,如果你省事,可以手动获取之后,吧request里的cookie全部贴在你的请求里面,这样请求都不会报错了
在这里插入图片描述

得到了数据了,接下来就可以做处理了。。。。。。。由于淘宝有反爬虫,需要你登陆后再做爬虫操作,不然会提示你登录,所以手动把登录后的cookie贴一下还是有效的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值