網(wǎng)頁抓取實(shí)例之Blue express物流信息抓取
提起如何查詢物流信息,大家都會(huì)想到各個(gè)方法。如果查詢數(shù)量較少,我們可以通過到各個(gè)快遞官網(wǎng)中查找。如果需要批量查,到表格中寫Excel函數(shù)庫的快遞公式即可,無論國(guó)內(nèi)快遞還是國(guó)際快遞,都能輕松搞定。今天小編就教給大家第三種方法,通過網(wǎng)頁抓取的方法實(shí)現(xiàn)物流信息的獲取。
本文通過一個(gè)國(guó)外物流網(wǎng)站的抓取案例,向大家介紹具體的抓取步驟,先給大家看下抓取的最終結(jié)果:
?

首先,我們還是和往常一樣,尋找數(shù)據(jù)源。我們打開查詢物流信息的網(wǎng)址,右鍵檢查或者按F12打開開發(fā)者工具。然后在網(wǎng)頁中搜索快遞單號(hào)的地方,輸入一個(gè)快遞單號(hào)進(jìn)行搜索。通過這一步,我們可以在開發(fā)者工具里的NetWork中截獲剛才發(fā)送的請(qǐng)求。
?

通常情況下,我們找到數(shù)據(jù)源,把它的網(wǎng)址鏈接復(fù)制下來就行,但是本案例中的網(wǎng)址不能直接打開,需要在網(wǎng)址后端添加一個(gè)apikey。我們從下圖的地方可以獲取到apikey。
?

有了源數(shù)據(jù)的網(wǎng)址,我們就可以到表格中寫公式了。首先通過公式=GetJsonSource()將源數(shù)據(jù)提取到表格,由于每個(gè)單號(hào)對(duì)應(yīng)到源數(shù)據(jù)中是不同的網(wǎng)址,所以這里我們將網(wǎng)址做了簡(jiǎn)單的拼接改造(由網(wǎng)址前部分+單號(hào)+apikey)
?

接著我們來提取具體的屬性值,由于源數(shù)據(jù)為JSON格式,我們這里使用=GetJsonProp erty()公式。
?

如圖,B5為源數(shù)據(jù)所在的單元格,root.0.date為屬性名,可以將NetWork里的JSON數(shù)據(jù)與網(wǎng)頁顯示的實(shí)際數(shù)據(jù)對(duì)比,總結(jié)出屬性名對(duì)應(yīng)的具體值。
?

寫好公式后,我們單擊回車,即可獲取到具體的數(shù)據(jù),至此,我們的網(wǎng)頁抓取任務(wù)就算完成了。之后我們填入單號(hào),并將公式寫好,數(shù)據(jù)就輕松的被抓取出來了。至于表格的美化、數(shù)據(jù)的后續(xù)處理,因人而異,小編在這就不一一講解了。
?

通過網(wǎng)頁抓取的方法查快遞,雖然有局限性且有一定的難度,但如果真的能用好,在效率及使用價(jià)值方面,往往會(huì)給我們意想不到的驚喜。