Home  >  Article  >  Backend Development  >  用PHP如何抓取.NET开发的分页控件的数据?

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

WBOY
WBOYOriginal
2016-06-23 13:25:021034browse

比如在
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开头的两个值,拿到这两个值才能继续下一页抓取。没办法多线程抓取了。不知道微软为何有这样的傻Ⅹ设计。这两个值通常都很长,服务器资源是节省了,但是很浪费网络资源很影响用户体验。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn