date: 2017-02-28 19:49:48
兩方面的感受最深刻:
- 一款APP的開發,從前到后的流程原來是這樣啊。
- 每門語言都有它的強大之處,不是它能不能實現,而是你想不想實現。
聯調方案
爬蟲這邊已經把數據存進MySQL了。
但是和后臺那邊還沒有想好怎么聯調。
想法一:
安卓組直接提供爬蟲組需要的用戶信息。
怎么給?http協議?反正我不知道...想法二:
安卓就相當于是前端,它的后臺就是后臺(這話聽起來怪怪的)。
直接讓后臺把用戶信息存成一張表。
讀取每一條用戶信息,調用爬蟲組的Python程序,參數傳入。
爬蟲組直接將數據又存進后臺數據庫里。
這個想法應該是可以的,畢竟Java和Python都很強大。
Java調用Python
總體思想:
在有新用戶加入或者有新的數據需要更新的時候,Java直接調用爬蟲并傳入參數。
結果就是數據存入到了數據庫。
了解到Java有Runtime.getRuntime().exec()
這樣就好辦多了。
這個方法其實就好像是cmd命令行一樣的執行python 程序:
Runtime.getRuntime().exec("python D:\\studentdb.py id password");
id和password就是傳入的參數。
把原爬蟲程序改為:
if __name__ == '__main__':
# 初始化爬蟲對象
xs = XDspiderStudent()
# 登錄(在此處傳入正確的個人學號與密碼信息)
#從Java里傳入參數
xs.login((sys.argv[1]), (sys.argv[2]))
xs.Store()
xs.saveMysql()
這樣即可。
這樣需要一個服務器也就可以了。
就是不知到怎么部署,還需要學習。