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…

切換到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)

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

通過(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獲得:

在模擬請(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)買)。