爬虫如何抓取到asp.net中-dopostback获取新页面的数据
2008-11-11 20:09
866 查看
在Web 2.0时代,很多网站采用AJAX技术实现,带来较好用户体验的代价是,Javascript得到的内容搜索引擎无法爬到,Google也正在研究此种技术。本文讨论Asp.Net程序生成的链接,爬虫如何能爬进去的问题。
问
题:某网站出现的数据列表分页显示,而上一页和下一页都是用__doPostBack提交到后台处理,如
javascript:__doPostBack(ucInfoListMore$gridInfoList$_ctl21$_ctl1,),我们根本得
不到他绝对链接的地址,而且每一页得下一页传入的参数是一样的。
分析:我们首先理解__doPostBack做了哪些事情。
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["Form1"];//注意此处的FormID
} else {
theform = document.Form1;//还有此处
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
明
白了吧,问题就在.__EVENTTARGET(后台处理的事件)和__EVENTARGUMENT上。这样就简单了,我们可以给这两个参数赋值,然后向
后台发送Post就可以了。那么如何指定某一页呢,Asp.Net在后台是以Session方式保存当前页信息的,我们在Post得时候能够保证实在同一
个会话中进行的就可以了。
问
题:某网站出现的数据列表分页显示,而上一页和下一页都是用__doPostBack提交到后台处理,如
javascript:__doPostBack(ucInfoListMore$gridInfoList$_ctl21$_ctl1,),我们根本得
不到他绝对链接的地址,而且每一页得下一页传入的参数是一样的。
分析:我们首先理解__doPostBack做了哪些事情。
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["Form1"];//注意此处的FormID
} else {
theform = document.Form1;//还有此处
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
明
白了吧,问题就在.__EVENTTARGET(后台处理的事件)和__EVENTARGUMENT上。这样就简单了,我们可以给这两个参数赋值,然后向
后台发送Post就可以了。那么如何指定某一页呢,Asp.Net在后台是以Session方式保存当前页信息的,我们在Post得时候能够保证实在同一
个会话中进行的就可以了。
相关文章推荐
- 爬虫如何抓取到Asp.Net中__doPostBack获取新页面的数据
- 爬虫如何抓取到Asp.Net中-doPostBack获取新页面的数据
- 如何抓取到Asp.Net中-doPostBack获取新页面的数据
- java jsoup 爬虫爬asp.net网站遇到_doPostBack不能获取翻页数据解决办法
- 【asp.net爬虫】asp.NET分页控件抓取第n页数据 javascript:__doPostBack
- ASP.NET Web API实践系列07,获取数据, 使用Ninject实现依赖倒置,使用Knockout实现页面元素和视图模型的双向绑定
- Silverlight应用程序中如何获取ASP.NET页面参数
- ASP.NET如何获取系统时间和数据功能调用
- Asp.Net 开发之(1) ---如何自动加载数据到页面或更新数据到数据容器中(基础控件)
- ASP.NET 跳转页面数据的获取 (使用html控件)
- ASP.NET抓取页面并分析页面数据的研究与探讨。
- 客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值。
- ASP.NET MVC 学习3、Controller左手从Model获取数据,右手传递到View页面
- asp.net的服务器控件客户端空件的区别以及如何刷新页面不靠数据库数据停留在页面
- asp.net如何将页面Table控件中的数据写到excel中总结
- 技巧:Silverlight应用程序中如何获取ASP.NET页面参数 推荐
- 如何在Silverlight应用程序中获取ASP.NET页面参数
- 在ASP中如何用xml的方式抓取这个页面的数据?
- 讲解如何让 ASP.NET 实现获取xxxxxx rank值的代码数据
- asp.net页面中如何获取Excel表的内容