如何写公式爬取网页数据之船舶定位
各位親,不用Python,不用寫(xiě)VBA,寫(xiě)公式也能爬網(wǎng)頁(yè)數(shù)據(jù),您知道嗎?今天小編給您整理了一個(gè)案例,做進(jìn)出口貿(mào)易的朋友,需要每天關(guān)注船舶狀態(tài),關(guān)注一個(gè)船舶倒是容易,到網(wǎng)頁(yè)上查一查就行,但如果有多個(gè),甚至十幾個(gè)船舶,一個(gè)一個(gè)查就不方便,也不直觀。此時(shí),如果能在表格中批量查,就方便了。下如圖是我們要抓取的數(shù)據(jù)。
這一張圖是最終效果,演示了如何在表格中寫(xiě)公式批量查船舶狀態(tài),是不是直觀,也很方便?
接下來(lái),小編給您介紹完整的抓取步驟。
第一步,安裝好Excel網(wǎng)絡(luò)函數(shù)庫(kù)。本案例所涉及的公式都是免費(fèi)的,使用也沒(méi)有任何限制。
第二步,構(gòu)造網(wǎng)址。以船舶定位為例,我們?cè)诰S運(yùn)網(wǎng)上輸入船名查詢的時(shí)候,很容易從瀏覽器地址欄獲得查詢網(wǎng)址,簡(jiǎn)單分析,可以找到網(wǎng)址拼接規(guī)律,只要將英文船名拼接到網(wǎng)址后就行。這種網(wǎng)址拼接方式最簡(jiǎn)單。
http://www.weiyun001.com/NewRoute/trace/shipname/KOTA%20LEGIT
特別說(shuō)明,由于本例中查詢網(wǎng)頁(yè)是嵌套結(jié)構(gòu),所以實(shí)際找到的拼接網(wǎng)址是下面的網(wǎng)址。
http://ais.weiyun001.com/ShipTrace/GoogleMapIndex/?ShipName=
第三步,分析網(wǎng)頁(yè)結(jié)構(gòu),找到數(shù)據(jù)項(xiàng)所在XPath。推薦使用Chrome瀏覽器,打開(kāi)要采集的網(wǎng)頁(yè),如下圖所示,我們要找到船舶狀態(tài)所在網(wǎng)頁(yè)元素的XPath。
將光標(biāo)移到船舶狀態(tài)上,右鍵,在彈出菜單中選擇檢查,在彈出的開(kāi)發(fā)者工具窗體中,找到要抓取的數(shù)據(jù)項(xiàng),右鍵,選擇Copy,選擇Copy XPath獲得如下XPath。每一個(gè)數(shù)據(jù)項(xiàng)都這樣去處理。
//*[@id="lbAisNavStatus"]
第四步,寫(xiě)公式GetWebContentByXPathW(url,xpath),如下圖所示,url參數(shù)傳入拼接的網(wǎng)址,xpath用找到數(shù)據(jù)項(xiàng)。GetWebContentByXPathW()的詳細(xì)用法,請(qǐng)點(diǎn)擊這里。
第五步,運(yùn)行Excel瀏覽器,設(shè)置網(wǎng)頁(yè)抓取任務(wù)。
?第六步,當(dāng)Excel瀏覽器全部抓取完畢后,回到Excel表格重新計(jì)算公式。
總結(jié)
本案例中,寫(xiě)公式抓取環(huán)節(jié),相對(duì)比較容易,多看幾遍,大家應(yīng)該都能掌握。難點(diǎn)在于,如何找到正確的拼接網(wǎng)址,您可借助瀏覽器的網(wǎng)絡(luò)請(qǐng)求工具,判斷實(shí)際抓取數(shù)據(jù)的是哪個(gè)網(wǎng)址。
總結(jié)
以上是生活随笔為你收集整理的如何写公式爬取网页数据之船舶定位的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: AD 用脚本语言做螺旋线左旋右旋线圈的
- 下一篇: 定位模块如何实现公交系统智能化