Java調用python解析xpath

一、需求背景

公司有爬蟲需求,希望通過xpath解析網頁,最早的版本是調用Java版本的Jsoup來完成的,但是Jsoup只能處理一些簡單的xpath,對于一些特殊函數的xpath無法支持,后來又通過使用xpath2selector用來處理高級xpath問題,但是xpath2selector也存在一些問題,不能支持部分高級函數以及亂碼問題,java版本使用xpath太難尋找,最終決定使用python作為解析xpath的語言。

二、需求分析

用python解析xpath需要解決兩個問題

1.Java調用python

2.python解析xpath

三、需求實現

1、Java調用python

剛開始的時候使用Jython作為Java和python之間的互通工具,測試之后確實可以使用,但是等到使用python的時候發現Jython不支持lxml,最后決定使用Java原生調用命令行的方式。以下為Java原生調用python的解決方案

由于簡書對code的支持不是特別好,所以以下用圖片代替

注:在linux環境中每個傳入的參數長度不能超過132kb

2、python接收數據并用lxml處理返回

1:接收數據

#python lxml解析xpath

3、環境搭配

pip? installl? xml

原文地址可查看:http://blog.csdn.net/yanxiaobo1991/article/details/78144359

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

推薦閱讀更多精彩內容

  • 環境管理管理Python版本和環境的工具。p–非常簡單的交互式python版本管理工具。pyenv–簡單的Pyth...
    MrHamster閱讀 3,856評論 1 61
  • 每日千字文1 最近,因為關注古典而去下載安裝了“得到”,也因為這樣的關注看到了邏輯思維,正好,都在同一個平臺上。我...
    星酉林夕閱讀 238評論 0 0
  • ——我見過的最美的情人節花束。來自我的女神~小憶 1月16日下午,影姐說,給你介紹一位朋友吧,和你有點像。還貼了幾...
    水若_小水囈夢閱讀 532評論 0 0
  • 《Effective C++ 中文版 第三版》讀書筆記 ** 條款 25:考慮寫出一個不拋異常的 swap 函數 ...
    趙者也閱讀 647評論 0 0