痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 4802|回復: 9

[求助] 如何直接撈出ASPX網頁特定的資料?

[複製鏈接]
發表於 2013-3-2 13:57:53 | 顯示全部樓層 |閱讀模式
常去基隆河泡水的牛, 出門前一定是看水位/即時影像...
在水利局改了幾次的網頁後, 資料查詢是愈來愈不好操作...

有沒有什麼樣的方式, 可以直接由下面的網址,
http://210.69.20.18/owi/WST.aspx
直接撈出 基隆河 \ 員山子 - 目前水位 資料呢??

Thanks!
發表於 2013-3-2 16:05:02 | 顯示全部樓層
本帖最後由 fakedeireas 於 2013-3-2 04:23 PM 編輯

有試過用 Web Service 對此網址送查詢 Form 值?
如果上面方法可行 提供一個方向 但你得自已找相關語法

1.擷取 對此頁送出 Form 值
2.過濾 針對取得內容置入陣列值
3.搜尋 利用陣列值針對符合字串作顯示 如:員山子
 樓主| 發表於 2013-3-2 16:52:00 | 顯示全部樓層
fakedeireas 發表於 2013-3-2 04:05 PM static/image/common/back.gif
有試過用 Web Service 對此網址送查詢 Form 值?
如果上面方法可行 提供一個方向 但你得自已找相關語法

牛一直認為可以由這下手
<form name="form1" method="post" action="WST.aspx" id="form1">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/xxxxxx" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/xxxxx" />

但要如何直接在網址代入設定值.... 真的是看不懂...
發表於 2013-3-2 19:35:05 | 顯示全部樓層
本帖最後由 fakedeireas 於 2013-3-2 07:38 PM 編輯
dcstudio 發表於 2013-3-2 04:52 PM static/image/common/back.gif
牛一直認為可以由這下手


你得先弄懂 Web Service 呼叫模式(USER←→WEB伺服器←→金流服務主機)
EX: 此模式常用在購物車 每筆訂單索取一專屬銀行帳號、匯款金額 功能上
發表於 2013-3-2 23:13:52 | 顯示全部樓層
dcstudio 發表於 2013-3-2 04:52 PM static/image/common/back.gif
牛一直認為可以由這下手

程式設計師的能力 就是無中生有 加油吧 花點時間 研究出來~ 就是你的本錢
以後有接到同樣案子的時候 再生出來就很快~
發表於 2013-3-10 22:11:02 | 顯示全部樓層
這只是基本的HTTP Request,稱不上Web Service。電腦資訊所謂的Web Service定義不是這樣而已。
 樓主| 發表於 2013-3-11 09:17:10 | 顯示全部樓層
phuang3 發表於 2013-3-10 10:11 PM static/image/common/back.gif
這只是基本的HTTP Request,稱不上Web Service。電腦資訊所謂的Web Service定義不是這樣而已。 ...

牛以牛能懂的方式試了幾多次... 都沒辨法在ASPX後面帶上預設參數...
EX : /owi/WST.aspx?selected=selected&value=基隆河

是想法錯了嗎?? 不能用網址預定的方式直接帶出要的頁面資料??
發表於 2013-3-11 20:52:26 | 顯示全部樓層
HTTP Request有分GET與POST兩種,前者就是您的方式,在URL後端加上參數值。另一種POST是將參數值加在HTTP Header上,在URL上是看不到的。去查一下<form> tag,看method="GET" or "POST"可以知道。一般而言是POST與GET皆可支援,但是也可以只接受其中一種,完全由設計師決定。你的需求不難,我可以幫你寫一個小Java程式去抓取,不過要等我有時間才行,最近比較忙...
 樓主| 發表於 2013-3-11 21:09:29 | 顯示全部樓層
本帖最後由 dcstudio 於 2013-3-11 11:55 PM 編輯
phuang3 發表於 2013-3-11 08:52 PM static/image/common/back.gif
HTTP Request有分GET與POST兩種,前者就是您的方式,在URL後端加上參數值。另一種POST是將參數值加在HTTP H ...


謝謝 phuang3大 能拔刀相助! 牛也會一邊想想看還能怎麼做!
主要, 牛是想將 基隆河\員山子 的水位, 直接套到奇摩部落格.
http://tw.myblog.yahoo.com/d06071973
出門淘金... 看水位是第一重要的!! 下雨沒關係... 但水位一定不能高.... 怕危險!!

另外, 我看了您提的部份, 看來它是如您所說, 由HTML加入POST的方式做的,
這樣子還有機會以網址+參數, 來撈資料??
<form name="form1" method="post" action="WST.aspx" id="form1">
發表於 2013-3-16 16:53:44 | 顯示全部樓層
本帖最後由 phuang3 於 2013-3-16 05:06 PM 編輯

因為它是套用ASP.Net的Framework寫成,有狀態追蹤功能,所以必須將第一次造訪後得到的__VIEWSTATE與__EVENTVALIDATION參數值加入才能做第二次request,不然會報錯。(我發現用Get其實也是可以,但是建議用Post因為有些瀏覽器的Url有長度限制)
我已經寫一個簡單的執行檔,可以自動將基隆河帶入,產生結果。因為你的需求是套用到奇摩部落格中,這部分如果沒有額外的server是辦不到的。自己在電腦跑跑還可以。原作者是利用經濟部水利署提供的Public Web Service獲得資料再呈現到網頁中,其實可以直接呼叫該Web Service就可以得到所需資料,不需要連到該網站。

需要先安裝Java JRE 1.6以上版本,在DOS視窗中執行waterlevel.exe
JRE可至以下安裝 java.com/zh_TW/download/index.jsp
203.160.242.186/ckfinder/resource/johnny/data/waterlevel.zip
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-11-21 08:28 PM , Processed in 0.290601 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.