iT邦幫忙

1

如何網頁爬蟲獲取UPS燃油附加費?

最近用C#撈網頁原始檔來獲取4大貨運的燃油附加費的費率
TNT、DHL、FEDEX都撈到了
但是UPS怎麼撈就是抓不到顯示表格的費率
有神人前輩可以提點提點嗎
費率網址如下
https://www.ups.com/tw/zh/shipping/surcharges/fuel-surcharges.page

2 個回答

3
dragonH
iT邦大師 1 級 ‧ 2019-08-20 15:13:02
最佳解答

這跟 c# 沒什麼關係我就來回了

如果你用的只是普通的 get request

爬不到是正常的

因為他那的資料

是用 js 處理的

圖為停用 js 的結果

https://ithelp.ithome.com.tw/upload/images/20190820/20117259De4oCZPajs.png

我原本是要推薦你用 puppeteer

後來看了一下

他的資料是從 來的

直接爬這就好

ken040714 iT邦新手 5 級 ‧ 2019-08-20 16:01:42 檢舉

感謝大大,抓到了!!!
有空再來研究研究puppeteer
可以另外問一下是怎樣抓到這個JSON路徑的嗎

dragonH iT邦大師 1 級 ‧ 2019-08-20 16:02:22 檢舉

/images/emoticon/emoticon82.gif

dragonH iT邦大師 1 級 ‧ 2019-08-20 16:06:59 檢舉

ken040714

可以看 browser console

network 那頁

搞不好你其他的頁面

有的就有用類似這種傳 data 的 api

你就可以省去分析 html 的時間

直接用他的 api

另外

普通的爬蟲用一般的 get request 就好

puppeteer 比較適合一些複雜的爬蟲

他會跟你一般操作 browser 類似

1
jumpbow
iT邦新手 5 級 ‧ 2019-08-20 15:54:53

直接下 GET
丟入它的 JS網址
https://www.ups.com/assets/resources/fuel-surcharge/tw.json
就可以抓到 JSON 的資料表,自己依照需求抓

ken040714 iT邦新手 5 級 ‧ 2019-08-20 16:02:00 檢舉

感謝! 我抓到了

我要發表回答

立即登入回答