爬虫如何抓取到Asp.Net中-doPostBack获取新页面的数据

原创 2007年10月01日 21:43:00
在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得时候能够保证实在同一个会话中进行的就可以了。
http://www.cnblogs.com/polugen/archive/2006/12/06/583861.html

相关文章推荐

ASP.NET打开新页面

Respose.Write("window.open('"+     url     +"');"); (打开简洁窗口): Respose.Write("window.open('"     +  ...

asp.net关于页面不回发,不生成__doPostBack方法问题的完美解决方案

来源:http://www.cnblogs.com/LCX/p/4472801.html 1.有可能是使用net4.0+iis6之后没有打补丁。 解决办法 在IE10中登录我公司...

ASP.NET打开新页面

  • 2013年05月20日 17:48
  • 1KB
  • 下载

ASP.NET打开新页面而不关闭原来的页面

Respose.Write("window.open('"+     url     +"');"); (打开简洁窗口): Respose.Write("window.open('"     +  ...
  • tearsmo
  • tearsmo
  • 2011年08月16日 14:37
  • 1714

错误与修复:ASP.NET无法检测IE10,导致_doPostBack等未定义JavaScript错误

在 跟随.NET 2.0和.NET 4一起发布的浏览器定义文件中有一个错误,也就是它们保存相当一部分浏览器版本的定义。但是浏览器的有些版本(比如IE10)不再在这个范围之内。因 此,ASP.NET把它...
  • vivlong
  • vivlong
  • 2013年04月24日 16:28
  • 1252

深入理解asp.net中的 __doPostBack函数

很早以前,当我刚接触asp.net开发时,我曾有很多很多的疑问(大概是因为我以前一直做jsp开发,也接触过一段时间的asp,脑海中没有这种基于“控件编程”和“事件编程“模型的缘故吧。当然,如果对于一个...

深入理解asp.net中的 __doPostBack函数

前段时间做一个.net网站的时候,用到了模拟前端按钮刷新updatePanel进行局部刷新的时候,遇见了这个问题,当时没顾上记下来,查看网上资料,记下来留着以后查看.   很早以前,当我刚接触asp...
  • xjy9266
  • xjy9266
  • 2017年07月19日 14:11
  • 94

.NET 中如何弹出新页面,而不出现阻止

一.用Response.Redirect()    比如在这个页面中有一个DropDownList 和 一个button ,dropdownlist 的value为一些页面的URL,当选好后,点击Bu...
  • liaobc
  • liaobc
  • 2011年02月22日 17:33
  • 3118

ASP.NET之通过JS向服务端(后台)发出请求(__doPostBack is undefined)

ASP.NET回发数据是通过函数__doPostBack来实现的,该函数在添加了服务端控件,并将AutoPostBack设置为true之后,将自动生成,具体可以参看下面的图。 ...

【转】asp.net项目在IE11下出现“__doPostBack”未定义的解决办法

最近我们运营的网站有用户反馈在 IE 11 下 点击出现 “__doPostBack”未定义”,经过一番google,终于知道了原因:ASP.NET 可能无法辨识出一些浏览器的最新版本,还会经常把它们...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:爬虫如何抓取到Asp.Net中-doPostBack获取新页面的数据
举报原因:
原因补充:

(最多只允许输入30个字)