Re: [問題] 相關爬蟲問題

作者: jack155861 (蕭)   2017-06-04 21:56:59
※ 引述《jack155861 (蕭)》之銘言:
: [問題類型]:
:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
:
: [軟體熟悉度]:
:
: 使用者(已經有用R 做過不少作品)
:
: [問題敘述]:
:
: 之前爬蟲都是用html網頁型態,最近遇到一個是需要先點選選單才能查詢資料的ASP網頁,
: 如下
: http://fhy.wra.gov.tw/ReservoirPage_2011/StorageCapacity.aspx
: 假設我要載:水庫>2017/6/4 像這樣的資料時,他的網址並不會跟著變動
: 要使用怎樣的語法會比較恰當
: 請各位指點一下~"~
:
各位好
謝謝C大的說明 然後我又在網路上看到一個教學 他這個教學跟我網站的形式有點類似
網址如下:http://leoluyi.logdown.com/posts/406397-crawler-mops-2
我把我要爬蟲的網站 看了他的程式碼 他是屬於form data 如下圖
http://imgur.com/a/Vy7mw
依照上面教學網址是要把form data的資料都放到R的函數理頭
res <- POST(
"http://fhy.wra.gov.tw/ReservoirPage_2011/StorageCapacity.aspx",
body = "XXXXX",
encode = "form")
但是怎樣跑都跑不出來 跑的都是最新(2017/6/4)的資料
若我body只放以下這些有影響的參數也是如此
ctl00$cphMain$cboSearch:防汛重點水庫
ctl00$cphMain$ucDate$cboYear:2017
ctl00$cphMain$ucDate$cboMonth:6
ctl00$cphMain$ucDate$cboDay:2
請問各位大大 有哪裡用錯了嗎?
作者: seimwiwa (pezcadido)   2017-06-05 21:14:00
注意VIEWSTATE
作者: jack155861 (蕭)   2017-06-06 00:03:00
請問s大 要如何處理VIEWSTATE那一長串的資料ㄚ
作者: bluecadence (Maxwell's demon)   2017-06-06 00:24:00
你要先 get 主頁 http (你文章裡面的http),在主頁的內容中先撈出 __VIEWSTATE 和 __VIEWSTATEGENERATOR的值,之後抓不同的日期需要 post 這些參數另外搞不好需要保留cookies使用cookies (我不確定,我沒實際去抓你這網頁)
作者: jack155861 (蕭)   2017-06-06 10:38:00
B大 _viewstate那些我都有放了 還是無法保留cookies使用cookies 這個是啥意思然後http://curso-r.github.io/posts/aula11.html有類似的東西 但她好複雜 我在瞧瞧
作者: bluecadence (Maxwell's demon)   2017-06-06 11:27:00
也是一樣 造訪主頁後,把 cookies 存起來,之後爬資料要用這些cookies 試試看吧
作者: seimwiwa (pezcadido)   2017-06-06 15:55:00
這個只需要以正則表達式先取得viewstate即可
作者: jack155861 (蕭)   2017-06-06 17:44:00
謝謝各位 我爬爬爬爬爬 出來了
作者: bluecadence (Maxwell's demon)   2017-06-06 17:52:00
那個cookies是google analytics在用的 應該是用不上剛看了一下除了日期,另外兩個必要的參數是__VIEWSTATE 和 __EVENTTARGET
作者: seimwiwa (pezcadido)   2017-06-06 19:16:00
恭喜你印象中2001年開始才有紀錄,全部爬完應該要花點時間
作者: jack155861 (蕭)   2017-06-07 08:40:00
其實蠻快的

Links booklink

Contact Us: admin [ a t ] ucptt.com