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

看板R_Language作者 (蕭)時間8年前 (2017/06/04 21:57), 編輯推噓4(4017)
留言21則, 3人參與, 最新討論串2/4 (看更多)
※ 引述《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 請問各位大大 有哪裡用錯了嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.202.207 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1496584622.A.D2C.html

06/05 21:14, , 1F
注意VIEWSTATE
06/05 21:14, 1F

06/06 00:03, , 2F
請問s大 要如何處理VIEWSTATE那一長串的資料ㄚ
06/06 00:03, 2F

06/06 00:24, , 3F
你要先 get 主頁 http (你文章裡面的http),在主頁的
06/06 00:24, 3F

06/06 00:24, , 4F
內容中先撈出 __VIEWSTATE 和 __VIEWSTATEGENERATOR
06/06 00:24, 4F

06/06 00:25, , 5F
的值,之後抓不同的日期需要 post 這些參數
06/06 00:25, 5F

06/06 00:27, , 6F
另外搞不好需要保留cookies使用cookies (我不確定,
06/06 00:27, 6F

06/06 00:27, , 7F
我沒實際去抓你這網頁)
06/06 00:27, 7F

06/06 10:38, , 8F
B大 _viewstate那些我都有放了 還是無法
06/06 10:38, 8F

06/06 10:38, , 9F
保留cookies使用cookies 這個是啥意思
06/06 10:38, 9F

06/06 10:39, , 10F

06/06 10:39, , 11F
有類似的東西 但她好複雜 我在瞧瞧
06/06 10:39, 11F

06/06 11:27, , 12F
也是一樣 造訪主頁後,把 cookies 存起來,之後爬資料
06/06 11:27, 12F

06/06 11:27, , 13F
要用這些cookies 試試看吧
06/06 11:27, 13F

06/06 15:55, , 14F
這個只需要以正則表達式先取得viewstate即可
06/06 15:55, 14F

06/06 17:44, , 15F
謝謝各位 我爬爬爬爬爬 出來了
06/06 17:44, 15F

06/06 17:52, , 16F
那個cookies是google analytics在用的 應該是用不上
06/06 17:52, 16F

06/06 18:05, , 17F
剛看了一下除了日期,另外兩個必要的參數是
06/06 18:05, 17F

06/06 18:06, , 18F
__VIEWSTATE 和 __EVENTTARGET
06/06 18:06, 18F

06/06 19:16, , 19F
恭喜你印象中2001年開始才有紀錄,全部爬完應該要花點
06/06 19:16, 19F

06/06 19:16, , 20F
時間
06/06 19:16, 20F

06/07 08:40, , 21F
其實蠻快的
06/07 08:40, 21F
文章代碼(AID): #1PD16kqi (R_Language)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 4 篇):
文章代碼(AID): #1PD16kqi (R_Language)