一、需求背景
公司有爬蟲需求,希望通過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