京东手机端如何request下来数据?
POST https://api.m.jd.com/client.action?functionId=personinfoBusiness&clientVersion=9.1.4&build=84121&client=android&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.1Connection: 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吗?
有没有爬过手机端数据的大神来说下呢 你是要抓什么数据?商品?评论?
request headers里的都是headers
一般最底下那格都是要post的data
比如这样,
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-9-11 11:46
比如这样,
你的这个head中有APPID吗
我的页面中没有这个,但又需要这个,不知道哪里去找的到appid cdzjf 发表于 2020-9-11 13:32
你的这个head中有APPID吗
我的页面中没有这个,但又需要这个,不知道哪里去找的到appid
data里不是有的么?
你到底要爬什么? 疾风怪盗 发表于 2020-9-11 13:34
data里不是有的么?
你到底要爬什么?
就是类似你刚刚那个帖子的内容,我看了下,那爬下来的都是ok的,但我就是没有看到要的页面有appid,我的头文件中,没有appid这项,倒是什么uid啊,aid啊什么的一大堆 本帖最后由 cdzjf 于 2020-9-11 20:09 编辑
疾风怪盗 发表于 2020-9-11 13:34
data里不是有的么?
你到底要爬什么?
POST https://api.m.jd.com/client.action?functionId=searchCatelogy&clientVersion=9.1.4&build=84555&client=android&d_brand=HUAWEI&d_model=EVA-TL00&osVersion=8.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,请问你这些数据是哪里来的 cdzjf 发表于 2020-9-11 13:43
就是类似你刚刚那个帖子的内容,我看了下,那爬下来的都是ok的,但我就是没有看到要的页面有appid,我的 ...
headers只要伪装浏览器的ua和页面来源的referer
data里的都是post的数据,里面有appid,其实就是json数据网址的携带参数拆解下来的
你再研究下吧 疾风怪盗 发表于 2020-9-11 13:59
headers只要伪装浏览器的ua和页面来源的referer
data里的都是post的数据,里面有appid,其实就是json数 ...
我就是找了所有的数据,都没有appid,搜索也没有,你是用的fiddler软件抓包的吗,是在哪里标签里面找到的appid这个项目呢 cdzjf 发表于 2020-9-11 20:16
我就是找了所有的数据,都没有appid,搜索也没有,你是用的fiddler软件抓包的吗,是在哪里标签里面找到的 ...
不明白你的意思,你是要找这个appid的根源?从哪来的?没找到,只看到这样的排行数据是json数据,有些商品页面上也没找到json,是静态页面,可以用xpath来爬
所以说,你到底是想爬哪一类数据?
疾风怪盗 发表于 2020-9-11 20:52
不明白你的意思,你是要找这个appid的根源?从哪来的?没找到,只看到这样的排行数据是json数据,有些商 ...
看了你的图终于明白了
我说的是手机京东app 用fiddler抓包,你这个是m.jd.com抓的,不一样的,所以我说怎么找不到appid呢 本帖最后由 疾风怪盗 于 2020-9-11 21:29 编辑
cdzjf 发表于 2020-9-11 21:23
看了你的图终于明白了
我说的是手机京东app 用fiddler抓包,你这个是m.jd.com抓的,不一样的,所以我说 ...
这不就是切换到手机端界面了么,不一样么?
能获取你需要的数据不就好了么?
你是要什么数据? 疾风怪盗 发表于 2020-9-11 21:27
这不就是切换到手机端界面了么,不一样么?
能获取你需要的数据不就好了么?
不一样的,你看看,手机上和这个有很多地方都是不一样的,具体是为啥我也不知道 cdzjf 发表于 2020-9-11 21:35
不一样的,你看看,手机上和这个有很多地方都是不一样的,具体是为啥我也不知道
{:10_284:}不懂了
我觉得都一样啊,界面和手机上的也一样,能爬到数据就好了
视频中老师说过,不要硬刚,只要能抓到想要的数据就行了 换bur 截一下,看看 疾风怪盗 发表于 2020-9-11 22:01
不懂了
我觉得都一样啊,界面和手机上的也一样,能爬到数据就好了
因为内容不一样,手机端和电脑那个手机的不一样的 均昊山 发表于 2020-9-11 23:46
换bur 截一下,看看
换bur???什么bur cdzjf 发表于 2020-9-12 11:34
换bur???什么bur
Burpsuite 均昊山 发表于 2020-9-12 18:53
Burpsuite
我试试看,没有接触过这个 不需要appid,如果遇到提示需要appid只能说明url接口或者传递的参数不对。你先找到包含信息的页面是请求的哪个接口,再分析一下抓包工具上该页面的form,把几个必须参数带上,其中body不代表是所有data,body只是data中的其中一项必须参数,需要把body作为字符串传递(否则在转码的时候会把body里面的符号转码,会导致请求不到数据),只要接口对了,参数对了,使用get请求和post请求都可以请求到数据。
页:
[1]