Python with MATLAB
我問,為什麼要從MATLAB裡面調用Python啊?
他說,Python的某些庫比MATLAB要好用,比如做網頁解析的BeautifulSoup,MATLAB裡面雖然有輕量級的webread和xmlread之類的函數,但是無法和BeautifulSoup提供的功能相比。今天就請他為大家展示下如何在MATLAB中調用Python的BeautifulSoup進行網頁的解析。
首先我們需要確定你的電腦已經安裝了Python,unix系統應該都自帶
>>pyversion version: 2.7 executable: /usr/bin/python library: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib home: /System/Library/Frameworks/Python.framework/Versions/2.7 isloaded: 0
如果沒有可以參考官方文檔,安裝Python
接下來就可以直接調用Python自帶的庫啦,可以參見官方文檔
現在,我們安裝第三方的BeautifulSoup庫,點這裡下載
我們選擇的是當前最新的4.4.1版本,下載解壓後,在系統console/shell中進行安裝
sudo python setup.py install
完成,現在就可以在MATLAB中享受bs4.BeautifulSoup啦!
>>htmlPage = webread(http://zhuanlan.zhihu.com/matlab);>>soup = py.bs4.BeautifulSoup(htmlPage);
如果你想要打包你的程序讓別人也能使用,可以做如下幾件事
1. 找到第三方Python庫的egg包,比如我的BeautifulSoupzhu在了
/Library/Python/2.7/site-packages/beautifulsoup4-4.4.1-py2.7.egg
2.把egg文件放入到方便的位置,比如和程序同目錄下
3.將egg文件加入MATLAB的python path.
% Import beautifulsoup from current directoryP = py.sys.path;if count(P,bs4) == 0 utilpath = fileparts(mfilename(fullpath)); insert(P,int32(0),fullfile(utilpath,beautifulsoup4-4.4.1-py2.7.egg));endhtmlPage = webread(http://zhuanlan.zhihu.com/matlab);soup = py.bs4.BeautifulSoup(htmlPage)
4.將你的程序和egg文件一起打包送出,讓別人去爭MATLAB好還是Python好吧!
說完實習生就走了,然而他忘記了展示如何使用BeautifulSoup, 後來再問他的時候,他說
我不會Python
I speak MATLAB
~完~
推薦閱讀:
※Python數據分析及可視化實例之可視化圖表應用簡介
※Python函數的參數列表中嵌套格式『[ [, [, ]]]』該如何理解,和一般的位置參數表示的區別有哪些?
※如何深入了解python原理?
※黃哥寫的對Python初學者有價值的文章。
※部分免費Python免費視頻