Java調(diào)用python解析xpath

一、需求背景

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

二、需求分析

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

1.Java調(diào)用python

2.python解析xpath

三、需求實現(xiàn)

1、Java調(diào)用python

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

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

注:在linux環(huán)境中每個傳入的參數(shù)長度不能超過132kb

2、python接收數(shù)據(jù)并用lxml處理返回

1:接收數(shù)據(jù)

#python lxml解析xpath

3、環(huán)境搭配

pip? installl? xml

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容