今天把最近的一個應用做好了,測試了一下運行沒有問題,剩下的就是檢驗一下結果如何。從光譜到Lab值通常使用matlab中的roo2lab(),不過經過我最近的測試發現轉換的結果并不理想,而且這個轉化的代碼也不是我寫的所以另尋他法,找到了下面這個網頁。
動手
有了這個網頁,很簡單就想到去解析,然后很快找到了這個api,可以看到用post提交表單請求就可以返回結果。
于是一番操作,修改form表單,構造傳入的spectrum,但是最終請求得到的卻是一個頁面,并不是想要的json。然后許久沒寫爬蟲的我直接惱火,想到自動化工具模擬操作??墒莝elenium很難用而且還得去找瀏覽器新版本的驅動,隨后直接搜索一番,發現了這個神器—playwright。
首先老規矩去它的首頁看看教程
接著安裝一下playwright以及瀏覽器的驅動。
我只等他下載好了chrome和ffmpeg直接就ctrl+c停止了,畢竟我也用不著其他的瀏覽器驅動。
然后稍微瀏覽一下這個文檔功能非常豐富,不過我用到的功能也不多,接下來的使用才是真正適合我們懶人的。
記住一行代碼
其中xxx.com就是我們的目標網址,運行后會創建一個熟悉的自動化頁面,然后我們就進行一些我們想要的操作,比如設置開始的最小波長為400nm,然后觀察以及光源改為D65/10。一系列操作后會看到對應的代碼已經生成好了。
至今為止我還沒有寫一行代碼,不過構造輸入的光譜還是得自己來的。
把這一段代碼復制下來,然后自己寫構造輸入的函數(就幾行),然后通過選擇器(直接左鍵元素復制xpath)得到lab值,這樣目標就搞定了。
整體代碼如下
可以說從安裝到實現就幾分鐘,而且特別容易上手,我第一次用也一下就能實現效果。
剩下的就是簡單的寫個函數計算色差啥的就沒難度了。
大廠出品果然不同,使用它在不考慮運行效率的情況下可以輕松實現復雜操作,懶人最愛!