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 如下图

依照上面教学网址是要把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