個人寫博客習慣沒什么理論偏向於實戰
一.為什么我解析數據明明就是這個位置為什么拿不到
博問:https://q.cnblogs.com/q/132792/
錯誤尋找內容方法:
在Element中定位尋找到參數(很多頁面能用但是會他並不是真正尋找數據的方法)

正確尋找內容方法:
我們應該在network頁面response尋找我們需要找的內容

原因
Element中是最終渲染后的內容,不一定是我們get網頁url拿到的數據,期間會有些js或者其他數據接口會改變他原始的界面
簡單代碼
import requests
from lxml.html import etree
url = 'https://www.cosme.net/product/product_id/10189603/top'
res =requests.get(url) #為什么不加請求頭呢,人家沒校驗請求頭就不用加了,不過多進程多線程爬取時候請務必和真實請求一模一樣
res_demo = etree.HTML(res.text)
meta_content = res_demo.xpath("//*[@property='og:title']/@content")[0].split('|')[2]
print(meta_content)
二.抓不到包
情況一
證書位置本地校驗
解決方法
adb命令將抓包工具證書從用戶目錄移動至系統目錄,解決反爬對於本地證書認證(點擊跳轉)
情況二
對於抓包工具的監測
解決方法
如果是頁面:使用network界面抓取
如果是app:python爬蟲用drony轉發進行抓包轉發(點擊跳轉),ProxyDroid+wifi設置抓xx點評抓不到的包(點擊跳轉)
情況三
對於協議進行判斷
解決方法
VirtualXposed結合justTrustMe 模塊傻瓜式破解app沒法抓包問題(點擊跳轉)
情況四
證書雙向認證
解決方法
找到app中證書所在的位置,或者查看他的校驗規則
三.關於亂碼

原因:人家是用二進制進行傳輸常見的是用谷歌傳輸協議進行傳輸,大公司可能會自己寫一套算法進行加密解析
四.關於加密(如今比較常見的加密)
RSA加密
我們解析頁面或者app反編譯后找他公鑰的時候找不到他公鑰,這時候他加密可能就是通過模和指數進行加密的
AES加密
關於ASE加密有填充和無填充的識別方法
其實很簡單加密通一條加密數據連續2次加密加密內容,key,iv不變的情況,最后輸出參數不變就是無填充.變就是填充
加密模板
五.關於app逆向
難點:工具的使用,尋找加密的經驗少,C和java要會,so層要用到匯編調試,脫殼,所有呢同學們先打好基礎
hook工具推薦:
frida:容易學,缺點語言比較弱有些位置沒法進行hook
yafha:不容易學,相比與frida語言要強有些位置frida沒法hook可以用yafha
目前都在卡人數網上的資料不會很多,如果真的要學推薦去看雪論壇或吾愛破解學習
也可以在我博客上看,但是細節方面也沒寫的很到位,個人只用於自己使用
學習鏈接:python爬蟲(學習整理)(點擊跳轉)
