Python爬蟲系列(五):京東App(如何分析https下的api結(jié)構(gòu),及數(shù)據(jù)爬取)

Charles證書安裝

如果不進(jìn)行下面的設(shè)置,https的reqeust和response都是亂碼,設(shè)置完之后https就可以抓包了。

手機(jī)端操作:
下載Charles證書http://www.charlesproxy.com/ssl.zip,解壓后導(dǎo)入到iOS設(shè)備中(將crt文件作為郵件附件發(fā)給自己,再在iOS設(shè)備中點(diǎn)擊附件即可安裝;也可上傳至百度之類的網(wǎng)盤,通過(guò)safari下載安裝)

電腦端操作:
1、在Charles的工具欄上點(diǎn)擊設(shè)置按鈕,選擇SSL Proxy Settings…

屏幕快照 2017-07-20 上午7.25.16.png

切換到SSL選項(xiàng)卡,選中Enable SSL Proxying。(別急,選完先別關(guān)掉)
2、SSL選項(xiàng)卡的Locations里填寫要抓包的域名和端口,點(diǎn)擊Add按鈕,在彈出的表單中Host填寫域名。比如填api.instagram.com,Port填443

抓包

手機(jī)配置好http代理后,便可以開始抓包了
例如京東『分類』頁(yè)面的結(jié)構(gòu)

image.png

通過(guò)抓包數(shù)據(jù)可以查看api規(guī)則

image.png

通過(guò)接口https://api.m.jd.com/client.action?function=entraceCatalog 獲取所有的一級(jí)分類,觀察左側(cè)的url可以很清楚看到j(luò)d app啟動(dòng)時(shí)請(qǐng)求了哪些接口作為初始化配置。

一級(jí)分類下的內(nèi)容通過(guò)cid獲得:

image.png

在模擬請(qǐng)求爬取數(shù)據(jù)時(shí),注意要根據(jù)示例接口,補(bǔ)全請(qǐng)求所需的參數(shù)信息

不難發(fā)現(xiàn)jd的api里面都有一個(gè)sign參數(shù),這個(gè)是通過(guò)時(shí)間戳(st參數(shù))和uuid通過(guò)一定規(guī)則md5出來(lái)的,用于數(shù)據(jù)安全。因此想要爬取jd的數(shù)據(jù),需要知道這個(gè)加密規(guī)則(某商城里有出售的,需要的同學(xué)可以去購(gòu)買)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容