前言,目前網上教程五花八門,系統不一,最主要的是沒講清楚,本人使用系統是windows,有的教程是mac系統,還有linux系統的,暈死,所以碼下個人遇到的坑:mitmproxy是cmd使用,需要注意路徑,
adb鏈接到模擬器后會進入到模擬的虛擬手機地址,#號表明已經全部root,就不用再寫代碼su(當時如果有su報錯如果已經root可以忽略)
1,準備工具 mitmproxy+ adb+ 夜神模擬器
2,安裝方法
mitmproxy 使用pip安裝
adb使用連接直接安裝,設定環境變數即可
模擬器選擇夜神,之前用的木木坑很多,建議使用夜神,
3,準備作業
模擬器網路設定,自定義設定,網址設定為ipv4默認,埠自定義一般選擇8888
模擬器設定為進入開發者模式
模擬器系統證書安裝mitmproxy,之前有坑是安裝用戶證書不行:安裝程序需要注意cmd路徑為.mitmpoxy
這個程序看教程,這個最好 https://blog.csdn.net/u010132177/article/details/117199579
4,使用步驟的思路
啟動mitproxy 埠鏈接,啟動夜神模擬器
然后ctrl+c退出再使用mitmproxy和py代碼進行抓包
再另開cmd,adb鏈接和swipe.py代碼自動滑動,
就會自動生成json格式的檔案
2的adb安裝可以看 https://www.zhihu.com/tardis/sogou/art/140828682
3~4可以參考 https://blog.csdn.net/weixin_39628070/article/details/111696004 雖然這教程比較全,但是用的是mac系統,木木模擬器也很不好用,在安裝mitmproxy證書遇到了坑,,
另外教程沒有補充swipe.py代碼和使用程序,本人補上:
adb devices -l #顯示所有已連接的設備詳細資訊:127.0.0.1:62001
#未連接則運行如下命令連接
adb connect 127.0.0.1:62001 #默認埠
cd documents#進入安裝代碼路徑
ipython3 swipe.py
其中swipe.py代碼為
import os
from time import sleep
import random
# os.system("adb shell input swipe 350 1580 350 680 200")
# adb 模擬滑動手勢(以步長200 從坐標350,1580 滑動到350,680)
def adb_swipe(n,time_count):
x1 = round(350+random.uniform(-5,5),2)
y1 = round(1580+random.uniform(-6,6),2)
x2 = round(350+random.uniform(-8,8),2)
y2 = round(900+random.uniform(-7,7),2)
step_ = round(200+random.randint(-9,9),2)
time_sleep = random.uniform(6,8)
os.system("adb shell input swipe {} {} {} {} {}".format(x1,y1,x2,y2,step_))
#print('正在看第{}個視頻!看{}秒!總共觀看{}分鐘'.format(n,time_sleep,round(time_count/60,2)))
sleep(time_sleep)
return time_sleep
if __name__ == "__main__":
n = 1
time_count = 1
while 1:
time_sleep = adb_swipe(n,time_count)
time_count += time_sleep
n += 1
5,關鍵點
url的確認很麻煩,需要登錄賬號,另外要了解的用戶、視頻串列的api介面,
自動滑屏中途會自動退出,非常頭疼,很可能是平臺自己的問題,-lx建議是web端抓取,
另外內容抓不完整,我重復抓取3次去重,每次都會有新的視頻沒有抓全,-這個web如何還需要驗證,
有解決辦法的大佬如果看到此文歡迎指點迷津,
6,資料分析
本人是配合anaconda使用不贅述
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/290466.html
標籤:其他
