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