話說領(lǐng)導(dǎo)和研發(fā)部門終于想起來之前還有個(gè)壓縮機(jī)選型軟件開發(fā)到一半,前兩天領(lǐng)導(dǎo)吩咐把剩下的功能做完。這可不,直接開干!
一上手就碰到難題,需要實(shí)現(xiàn)一個(gè)定點(diǎn)計(jì)算壓縮機(jī)工況的功能,所謂定點(diǎn)就是給定蒸發(fā)溫度,冷凝溫度,過熱度,過冷度,再在特定的工況下根據(jù)不同的輸出維度,輸出一個(gè)計(jì)算結(jié)果。聽上去好像不難,但比較奇葩的是,計(jì)算需要調(diào)用NIST公司提供的一個(gè)dll庫,而dll庫包中提供的示例居然是用VB寫在excel里的。上個(gè)世紀(jì)的技術(shù),拋棄拋棄。于是果斷找找是否有更高級(jí)的封裝,結(jié)果順藤摸瓜找到了一個(gè)叫coolprop的工具集,提供NIST那個(gè)dll的各種語言的接口,簡直爽歪歪。(連js都有,看起來甚至可以在前端實(shí)現(xiàn)計(jì)算邏輯= =。
正好看見有python的庫,之前玩數(shù)據(jù)挖掘的時(shí)候玩過一段時(shí)間python,果斷上手看example,結(jié)果發(fā)現(xiàn)不僅有example,更有在線demo供用戶使用,簡直直觀得不行。
慢著,既然有在線demo,那就有js文件暴露出來!憑著前端的嗅覺,立馬打開F12一探究竟。。但,失望而歸。竟然沒有任何一個(gè)js文件是用來計(jì)算定點(diǎn)工況的,盡是些BootStrap,JQuery。不管,先點(diǎn)個(gè)計(jì)算試試。
我靠?跳轉(zhuǎn)到結(jié)果頁之后,我猛然發(fā)現(xiàn),url中帶著之前自己填寫的參數(shù),簡直不敢相信這種這么“高深莫測(cè)”的動(dòng)態(tài)鏈接庫的封裝,竟然就這么輕易地暴露出了計(jì)算接口?趁熱打鐵,立馬用postman測(cè)試了一下,還真能用,不過返回的是結(jié)果頁一整張HTML的代碼,這。。。還真是簡單粗暴。
等下,既然返回了結(jié)果頁,那不就說明計(jì)算結(jié)果也在返回的內(nèi)容中么。。。這一刻簡直感覺自己福爾摩斯附體,三下五除二找到了存結(jié)果頁的table,用beautifulsoup處理一下,順利獲取了計(jì)算結(jié)果。
這算什么,簡單的爬蟲?哈哈哈不管了,簡直是神奇的一天,莫名其妙爬了個(gè)蟲,定點(diǎn)工況計(jì)算的需求感覺勝利在望。^ ^