>  기사  >  백엔드 개발  >  用PHP如何抓取.NET开发的分页控件的数据?

用PHP如何抓取.NET开发的分页控件的数据?

WBOY
WBOY원래의
2016-06-23 13:25:021034검색

比如在
http://121.28.49.84:8003/
以上网页,左边任选一个企业,点击右侧顶部的“监测数据”,可以看到它是用.NET控件做的分页,监控网络请求发现其每次都回发整个网页,且带有viewstate的值,很难模拟。而且采用了UpdatePanel控件,并非向其他接口请求数据。
我的目的是想自动抓取右侧的监测数据,请问有什么办法可以实现抓取这个页面的分页所有数据?
P.S.服务器环境是LAMP


回复讨论(解决方案)

他 就是 AJAX  获取数据,你找到那个AJAX URL连接就可以了,其他根据传参 来的

他的AJAX是用.NET控件的UpdatePanel,实际上是向当前页面自身去请求,这样会导致整个页面的postback,并非是请求另外一个接口地址。
向自身请求时,viewstate非常复杂和难以拼写,而且我通过PHP外部提交的貌似还通不过验证,不知道是哪里的问题。

他的AJAX是用.NET控件的UpdatePanel,实际上是向当前页面自身去请求,这样会导致整个页面的postback,并非是请求另外一个接口地址。
向自身请求时,viewstate非常复杂和难以拼写,而且我通过PHP外部提交的貌似还通不过验证,不知道是哪里的问题。


看它的返回数据就知道了,每次将返回的数据再提交上去。

抓取上一个页面,获取数据的同时要获取_viewstate 和_E开头的两个值,拿到这两个值才能继续下一页抓取。没办法多线程抓取了。不知道微软为何有这样的傻Ⅹ设计。这两个值通常都很长,服务器资源是节省了,但是很浪费网络资源很影响用户体验。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.