python爬蟲抖音 個人資料 僅供學習參考 切勿用於商業


本文僅供學習參考 切勿用於商業

本次爬取使用fiddler+模擬器(下載抖音APP)+pycharm

1. 下載最新版本的fiddler(自行百度下載),以及相關配置

image

1.1.依次點擊,菜單欄-Tools-Options-HTTPS,如圖1紅框打鈎,HTTPS旁邊Connections配置,如圖2紅框打鈎

imageimage

1.2.再次點擊HTTPS欄,點擊Actions選擇第二個…to Desktop這個選項,發送證書到桌面(方便找到,模擬器中需要安裝)

image

2.下載安裝模擬器,我用的是夜神模擬器

官網:https://www.yeshen.com/

自行修改頁面或內存等。。。。

image

2.1.回到電腦桌面, 找到剛才保存的證書,拖動到模擬器,看一下下圖紅框中的路徑。

image

2.2. 返回模擬器桌面,打開設置,下拉找到進入-安全-選擇從SD卡安裝-如下圖所示,找到證書進行安裝,提示的隨便輸入。

imageimageimageimageimage

2.3.返回到模擬器設置, 找到WiFi,進去,左鍵長按,修改網絡,如圖修改,本機ip查詢,cmd輸入ipconfig,IPv4后邊的就是本機IP

imageimageimageimage

3. 模擬器應用市場中下載抖音App,到此配置已完成,重啟模擬器,之后測試fiddler是否能抓到請求包。

4.測試能抓到請求。然后分析請求。

image

5,本文爬取的是 '抖音昵稱', '抖音ID', '個人簡介' 因此查看到 抓包返回的是圖2的數據

imageimage

6.得到的數據不可能一個一個的復制保存到本地,因此可使用fiddler自行編寫腳本保存數據, 走起,自己去添加一個,如圖3,添加的腳本 自動保存相應數據到本地json文件

imageimageimage

7.以下是fiddler腳本,根據需要自行修改

if (oSession.uriContains("https://aweme-eagle-hl.snssdk.com/aweme/v1/user/")){
        //上邊的網址是你需要保存數據的網址開頭的部分,網站修改的話需要及時修改url
        var strBody=oSession.GetResponseBodyAsString();
        var sps = oSession.PathAndQuery.slice(-64,-54);
        //FiddlerObject.alert(sps)
        var filename = "E:/此處是本地路徑" + "/" + sps + ".json";  
        var curDate = new Date();   
        var sw : System.IO.StreamWriter;  
        if (System.IO.File.Exists(filename)){  
            sw = System.IO.File.AppendText(filename);  
            sw.Write(strBody);  
        }  
        else{  
            sw = System.IO.File.CreateText(filename);  
            sw.Write(strBody);  
        }  
            
        sw.Close();  
        sw.Dispose(); 
        }

8.在模擬器抖音中, 不斷的去往下翻,往右翻, 查看用戶頁,fiddler編寫的腳本就自動保存了你需要的數據。如圖

image

9. 那么問題來了 當想大量的爬取數據時, 不可能人工翻頁,所以這時候用到了模擬器自帶的操作助手功能。

9.1,自己動手錄取一段,你想讓模擬器不斷循環的操作,設置循環次數,往下翻,記得保存。

imageimageimage

9.2. 點擊播放按鈕,模擬器就會自動循環你錄制的操作,一直往下翻頁,fiddler,會不斷有新的相應被抓到,本地的json數據越來越多。

=======================================================

基本操作搞完了,那么拿到的json文件如何解析呢,這時候敲代碼去吧。

=======================================================

10。說一下思路,具體代碼不做展示。

10.1,從本地去到json文件,放到一個列表中,循環列表中的json

10.2  json.load()讀取json文件content

10.3  取json中你所需的資料。

10.4 存儲,我存的excel文件,出現了一些問題,這里我說一下。

# 存儲時特殊字符會報錯,此處用codecs存儲,存儲的csv會出現編碼亂的問題,解決辦法,右鍵用記事本打開保存的csv文件,另存為一下,編碼格式選utf-8.
        with codecs.open("./douyin/douyin.csv", "a+", encoding='utf-8') as f:
            writer = csv.writer(f, dialect="excel")
            writer.writerow(l)

10.5  爬到的數據,會有從重復的,去重很簡單,這里就不說了。

展示一下我爬到的數據

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM