目錄
背景
接下來介紹的是全自動app爬蟲,適用於找不到數據接口規律、需要爬取大量數據的爬蟲。在部署好全自動爬蟲只需要打開這堆軟件,運行代碼,然後再睡一覺等數據爬好了。
但並不是所有的爬蟲都適用於這樣的,如果可以找到數據接口的規律,就可以直接在python裏面像寫網頁端的普通抓包爬蟲就行,如果只需要少量數據,就可以連接真機,手控屏幕滑動,這兩種情況appium、安卓模擬器、sdk都顯得duck不必了。
需要安裝的軟件
- jdk
- python
- AndroidSDK
- appium
- 安卓模擬器
- mitmproxy
軟件的作用介紹&個人使用測評
AndroidSDK+安卓模擬器是提供一個“手機”。這裏有非常多的替代方式,比如直接下載AndroidStudio,可以在裏面安裝SDK和AVD(安卓模擬器);安卓模擬器也不止是夜神模擬器,還有雷電模擬器之類的;甚至你可以不用安卓的模擬器,下載蘋果的也可。但是根據我個人的使用,還是強烈安利安裝AndroidSDK和夜神模擬器的,夜神模擬器安裝起來非常方便+快速,用起來也非常流暢,AndroidStudio裏面的模擬器不知道是什麼版本的安卓,感覺很奇怪,我不太會用。
appium配合Python可以實現用的代碼控制手機,這一步主要就是解放你的雙手,不然就要自己抱着手機一頓狂刷,這樣也有好處,會比程序控制的穩定很多。
mitmproxy是一個代理,介於客戶端和服務器端,說白了就是你的手機和部署app的服務器,代理的作用就是介於二者中間,抓包獲取數據。charles和fiddler都是app抓包工具,但是!!!mitmproxy有一個非常厲害的功能,就是可以直接將抓包獲得的數據用Python代碼處理,所以我強烈安利,但是mitmproxy(右圖)也有一個不好的地方,就是當你在篩選這些數據包的時候,這些數據包是按照時間先後排序的,非常亂七八糟的,找數據包太費神了,charles(左圖)就會把他們根據url分類,大大提高篩選數據包的效率,所以我兩個都安裝上了。
爬蟲的大致邏輯
AndroidSDK和安卓模擬器是提供一個“手機”,以爬取抖音數據爲例,通過在這個手機上安裝抖音,然後一頓狂刷,會和抖音的服務器交互產生非常多的數據,通過代理(mitmproxy)將數據抓包,並將抓到的數據用python進行解析和處理,這裏呢,爲了解放雙手,一頓狂刷的事情就交給Python和appium,可以寫程序控制手機操作(點擊,上刷,下刷...)。最後,獲取數據,處理數據,一氣呵成。
安裝&配置教程
這裏我就不贅述安裝過程了,整理了一些安裝教程,都是我安裝時親測有效的。
jdk:https://blog.csdn.net/konggu_youlan/article/details/79942800
python:https://blog.csdn.net/ITLearnHall/article/details/81708148
mitmproxy:https://cuiqingcai.com/5391.html
androidSDK:https://zhuanlan.zhihu.com/p/37974829
appium:https://www.jianshu.com/p/145dd466f04d
夜神模擬器:直接去官網下載,然後直接安裝即可。