關於數據抓取不少新人的誤區

我的寫博客習慣沒什麼理論偏向於實戰html

一.爲何我解析數據明明就是這個位置爲何拿不到

博問:https://q.cnblogs.com/q/132792/java

錯誤尋找內容方法:

Element中定位尋找到參數(不少頁面能用可是會他並非真正尋找數據的方法)python

正確尋找內容方法:

咱們應該在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)

二.抓不到包

狀況一

證書位置本地校驗app

解決方法

adb命令將抓包工具證書從用戶目錄移動至系統目錄,解決反爬對於本地證書認證(點擊跳轉)python爬蟲

狀況二

對於抓包工具的監測工具

解決方法

若是是頁面:使用network界面抓取學習

若是是app:python爬蟲用drony轉發進行抓包轉發(點擊跳轉),ProxyDroid+wifi設置抓xx點評抓不到的包(點擊跳轉)加密

狀況三

對於協議進行判斷

解決方法

VirtualXposed結合justTrustMe 模塊傻瓜式破解app無法抓包問題(點擊跳轉)

狀況四

證書雙向認證

解決方法

找到app中證書所在的位置,或者查看他的校驗規則

三.關於亂碼

緣由:人家是用二進制進行傳輸常見的是用谷歌傳輸協議進行傳輸,大公司可能會本身寫一套算法進行加密解析

python谷歌序列化傳輸(點擊跳轉)

四.關於加密(現在比較常見的加密)

RSA加密

咱們解析頁面或者app反編譯後找他公鑰的時候找不到他公鑰,這時候他加密可能就是經過指數進行加密的

AES加密

關於ASE加密有填充和無填充的識別方法

其實很簡單加密通一條加密數據連續2次加密加密內容,key,iv不變的狀況,最後輸出參數不變就是無填充.就是填充

加密模板

直接拿取用就行了(python模板)(點擊跳轉)

五.關於app逆向

難點:工具的使用,尋找加密的經驗少,C和java要會,so層要用到彙編調試,脫殼,全部呢同窗們先打好基礎

hook工具推薦:

frida:容易學,缺點語言比較弱有些位置無法進行hook

yafha:不容易學,相比與frida語言要強有些位置frida無法hook能夠用yafha

目前都在卡人數網上的資料不會不少,若是真的要學推薦去看雪論壇吾愛破解學習

也能夠在我博客上看,可是細節方面也沒寫的很到位,我的只用於本身使用

學習連接:python爬蟲(學習整理)(點擊跳轉)

相關文章
相關標籤/搜索