鱼C论坛

 找回密码
 立即注册
查看: 2918|回复: 19

[已解决]京东手机端如何request下来数据?

[复制链接]
发表于 2020-9-11 11:20:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
POST https://api.m.jd.com/client.acti ... ndroid&d_brand=****&d_model=0&osVersion=9.0.0&screen=1792*1080&partner=huawei&aid=1ba57bfb834e4392&oaid=929fd6df-ff7f-2ba3-ef9f-7a6dfcff99da&eid=eidAbb18812197sa6dZHn0EOQFSS6GmJuwRg6OnWSRMVBP79kg8Ybe2AXeFqfXWpBvU1iCkSbYVf9GA%3D%3D&uuid=-f823b2254bb4&st=1599791543812&sign=66a76f8cce7dcde41492b00af3aec1f8&sv=112 HTTP/1.1
Connection: Keep-Alive
Cookie: pin=QqkfPPj8VuuPjp"};
Charset: UTF-8
Accept-Encoding: br,gzip,deflate
jdc-backup: -q5dE8nxefingQ\/7t0uG73LO+hsOm+pyC+s2p"};
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 215
Host: api.m.jd.com
User-Agent: okhttp/3.12.1

body=%7B%22callCJH%22%3A%221%22%2C%22callNPS%22%3A%221%22%2C%22closeJX%22%3A%220%22%2C%22locationArea%22%3A%2222_1930_50947_52198%22%2C%22menuStaticSource%22%3A%220%22%2C%22menuTimeStamp%22%3A%221585198888000%22%7D&

抓包抓到的,在response中的text和json中可以看到页面的信息,但我如何用程序把这些获取下来了?
看到是个post请求,但这个到底cookie啊,header啊,data应该怎么写,data是body吗?
有没有爬过手机端数据的大神来说下呢
最佳答案
2020-9-13 14:12:50
不需要appid,如果遇到提示需要appid只能说明url接口或者传递的参数不对。你先找到包含信息的页面是请求的哪个接口,再分析一下抓包工具上该页面的form,把几个必须参数带上,其中body不代表是所有data,body只是data中的其中一项必须参数,需要把body作为字符串传递(否则在转码的时候会把body里面的符号转码,会导致请求不到数据),只要接口对了,参数对了,使用get请求和post请求都可以请求到数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-11 11:31:54 | 显示全部楼层
你是要抓什么数据?商品?评论?
request headers里的都是headers
一般最底下那格都是要post的data
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-11 11:46:09 | 显示全部楼层
比如这样,
import requests

url='https://api.m.jd.com/client.action'
data={'functionId':'getRankLanding',
      'appid':'JDReactRankingList',
      'body':'{"rankType":10,"source":"dacu","rankId":"5229","extraParam":{"currSku":{"5229":"100007299145"}},"fromName":"tongtianta.html"}',
      'clientVersion':'7.0.0',
      'client=wh5&area':'31_2686_0_0',
      'jsonp':'jsonp_1599795194039_44895'}
headers={'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1',
         'referer': 'https://ranking.m.jd.com/comLandingPage/comLandingPage?contentId=5229&sku=100007299145&rankType=10&fromName=tongtianta.html'}

response=requests.post(url,headers=headers,data=data)
print(response.content.decode())
屏幕截图 2020-09-11 114542.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-11 13:32:10 | 显示全部楼层

你的这个head中有APPID吗
我的页面中没有这个,但又需要这个,不知道哪里去找的到appid
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-11 13:34:36 | 显示全部楼层
cdzjf 发表于 2020-9-11 13:32
你的这个head中有APPID吗
我的页面中没有这个,但又需要这个,不知道哪里去找的到appid

data里不是有的么?
你到底要爬什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-11 13:43:39 | 显示全部楼层
疾风怪盗 发表于 2020-9-11 13:34
data里不是有的么?
你到底要爬什么?

就是类似你刚刚那个帖子的内容,我看了下,那爬下来的都是ok的,但我就是没有看到要的页面有appid,我的头文件中,没有appid这项,倒是什么uid啊,aid啊什么的一大堆
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-11 13:47:26 | 显示全部楼层
本帖最后由 cdzjf 于 2020-9-11 20:09 编辑
疾风怪盗 发表于 2020-9-11 13:34
data里不是有的么?
你到底要爬什么?


POST https://api.m.jd.com/client.acti ... 0.0&screen=1792*1080&partner=huawei&aid=1ba57bfb834e4392&oaid=929fd6df-ff7f-2ba3-ef9f-7a6dfcff99da&eid=eidAbb18812197sa6dZHn0EOQFSS6GmJuwRg6OnWSRMVBP79kg8Ybe2AXeFqfXWQnbBhwmoz42QQ/7et0uG7i3LO+hsOm+1Q1xWAH5x7TQr/LpqsqcBs&sdkVersion=26&lang=zh_CN&area=19_1650_20052_20063&networkType=wifi&wifiBssid=b9d46e4b49d3e692712fde317742ae09&uts=0f31TVRjBSu%2FsZla2geQLFWY8lVsHG8b3Ol7eG6na5%2BClH9sIqqc0hkA%2BBLaWFHyn5OIiO0hA1%2FDammFVKCyWhIyUReSoAkhM9VrrGmzrY7Ua8JOeD2LfYxzwiN%2BtSkSFBiDb6N%2FA4%2B%2BAuIDrUWSq1vnUocFDWj6myvhypipkoiluVUxIQmGDBiPGHaZyE3ZWh3edKPbX3vfAxS0p%2BXCfg%3D%3D&uuid=-f823b2254bb4&st=1599803094614&sign=b15820970e053442ea5a13d1012b180e&sv=110 HTTP/1.1
Connection: Keep-Alive
Charset: UTF-8
Accept-Encoding: br,gzip,deflate
jdc-backup: pin=jfduyg;wskey=AAJfMB6iAECXOFU96MgVOXAi1v2PTpu79Qdrzt2YwdT8nz26-q5dE3QLFvgpZkPP8nxz;whwswswws=mMtM6RP8QqkfPPj8VuuPj5w4vNByWXntg0trspNpQAw9uQSqlsYr8YHB6pyC+sP2p;unionwsws={"devicefinger":"eidAbb18812197sa6dZHn0EOQFSS6GmJuwRg6OnWSRMVBP79kg8Ybe2AXeFqfXWQnbBhwmoz42QQ\/7et0uG7i3LO+hsOm+1Q1xWAH5x7TQr\/LpqsqcBs","jmafinger":"mMtM6RP8QqkfPPj8VuuPj5w4vNByWXntg0trspNpQAw9uQSqlsYr8YHB6pyC+sP2p"};
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 633
Host: api.m.jd.com
User-Agent: okhttp/3.12.1

body=%7B%22addressId%22%3A%222355676874%22%2C%22catelogyId%22%3A%222676%22%2C%22catelogyIdLevel1%22%3A%220%22%2C%22deviceidTail%22%3A%2258%22%2C%22fullCategoryId%22%3A%220-99994444-2676%22%2C%22gcLat%22%3A%2222.953239%22%2C%22gcLng%22%3A%22115.638771%22%2C%22imagesize%22%3A%7B%22gridImg%22%3A%22531x531%22%2C%22listImg%22%3A%22390x390%22%2C%22longImg%22%3A%22531x680%22%7D%2C%22localNum%22%3A%220%22%2C%22newVersion%22%3A%223%22%2C%22orignalSearch%22%3A%221%22%2C%22orignalSelect%22%3A%221%22%2C%22page%22%3A%221%22%2C%22pagesize%22%3A%2210%22%2C%22pvid%22%3A%22%22%2C%22searchVersionCode%22%3A%229120%22%2C%22stock%22%3A%221%22%7D&


这是我刚刚抓包的一个类似你的这种商品页面的头文件,但里面没有APPid也没有你的jsonp,请问你这些数据是哪里来的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-11 13:59:38 | 显示全部楼层
cdzjf 发表于 2020-9-11 13:43
就是类似你刚刚那个帖子的内容,我看了下,那爬下来的都是ok的,但我就是没有看到要的页面有appid,我的 ...

headers只要伪装浏览器的ua和页面来源的referer
data里的都是post的数据,里面有appid,其实就是json数据网址的携带参数拆解下来的
你再研究下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-11 20:16:20 | 显示全部楼层
疾风怪盗 发表于 2020-9-11 13:59
headers只要伪装浏览器的ua和页面来源的referer
data里的都是post的数据,里面有appid,其实就是json数 ...

我就是找了所有的数据,都没有appid,搜索也没有,你是用的fiddler软件抓包的吗,是在哪里标签里面找到的appid这个项目呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-11 20:52:55 | 显示全部楼层
cdzjf 发表于 2020-9-11 20:16
我就是找了所有的数据,都没有appid,搜索也没有,你是用的fiddler软件抓包的吗,是在哪里标签里面找到的 ...

不明白你的意思,你是要找这个appid的根源?从哪来的?没找到,只看到这样的排行数据是json数据,有些商品页面上也没找到json,是静态页面,可以用xpath来爬
所以说,你到底是想爬哪一类数据?
屏幕截图 2020-09-11 204613.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-11 21:23:16 | 显示全部楼层
疾风怪盗 发表于 2020-9-11 20:52
不明白你的意思,你是要找这个appid的根源?从哪来的?没找到,只看到这样的排行数据是json数据,有些商 ...

看了你的图终于明白了
我说的是手机京东app 用fiddler抓包,你这个是m.jd.com抓的,不一样的,所以我说怎么找不到appid呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-11 21:27:06 | 显示全部楼层
本帖最后由 疾风怪盗 于 2020-9-11 21:29 编辑
cdzjf 发表于 2020-9-11 21:23
看了你的图终于明白了
我说的是手机京东app 用fiddler抓包,你这个是m.jd.com抓的,不一样的,所以我说 ...


这不就是切换到手机端界面了么,不一样么?

能获取你需要的数据不就好了么?
你是要什么数据?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-11 21:35:47 | 显示全部楼层
疾风怪盗 发表于 2020-9-11 21:27
这不就是切换到手机端界面了么,不一样么?

能获取你需要的数据不就好了么?

不一样的,你看看,手机上和这个有很多地方都是不一样的,具体是为啥我也不知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-11 22:01:33 | 显示全部楼层
cdzjf 发表于 2020-9-11 21:35
不一样的,你看看,手机上和这个有很多地方都是不一样的,具体是为啥我也不知道

不懂了

我觉得都一样啊,界面和手机上的也一样,能爬到数据就好了

视频中老师说过,不要硬刚,只要能抓到想要的数据就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-11 23:46:35 | 显示全部楼层
换bur 截一下,看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-12 11:33:19 | 显示全部楼层
疾风怪盗 发表于 2020-9-11 22:01
不懂了

我觉得都一样啊,界面和手机上的也一样,能爬到数据就好了

因为内容不一样,手机端和电脑那个手机的不一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-12 11:34:09 | 显示全部楼层
均昊山 发表于 2020-9-11 23:46
换bur 截一下,看看


换bur???什么bur
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-12 18:53:04 | 显示全部楼层
cdzjf 发表于 2020-9-12 11:34
换bur???什么bur

Burpsuite
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-12 19:59:40 | 显示全部楼层

我试试看,没有接触过这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-13 14:12:50 | 显示全部楼层    本楼为最佳答案   
不需要appid,如果遇到提示需要appid只能说明url接口或者传递的参数不对。你先找到包含信息的页面是请求的哪个接口,再分析一下抓包工具上该页面的form,把几个必须参数带上,其中body不代表是所有data,body只是data中的其中一项必须参数,需要把body作为字符串传递(否则在转码的时候会把body里面的符号转码,会导致请求不到数据),只要接口对了,参数对了,使用get请求和post请求都可以请求到数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 16:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表