Java調用Python

date: 2017-02-28 19:49:48

兩方面的感受最深刻:

  1. 一款APP的開發,從前到后的流程原來是這樣啊。
  2. 每門語言都有它的強大之處,不是它能不能實現,而是你想不想實現。

聯調方案

爬蟲這邊已經把數據存進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()

這樣即可。

這樣需要一個服務器也就可以了。
就是不知到怎么部署,還需要學習。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容