http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 20260|回复: 7

[C#语言基础] 如何使用webbrowser控件获取目标页面登陆后执行ajax后的返回内容?

[复制链接]
发表于 2014-1-11 15:17:32 | 显示全部楼层 |阅读模式
本帖最后由 tylrr 于 2014-1-11 15:23 编辑

请教@站长苏飞 和大伙,如何使用webbrowser控件获取目标页面登陆后执行ajax后的返回内容?

可能有人问为什么要用webbrowser控件来采,因为目标网站需要登录才能采集,而且每次查询时ajax返回1000条数据,但是前台只显示10数据,所以直接采集ajax快很多。

另外ajax地址做了防采集的处理,登录网站后,直接请求ajax地址的话是不会返回数据的。    考虑到自己做登录比较麻烦,所以我想用浏览器控件来采集。

请大伙指点,谢谢


如图,我登陆目标页面后,用httpwatch监测到一个ajax执行后返回的response, 我想捕获content字段的内容。

1387815995_991979.jpg


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-1-11 18:52:21 | 显示全部楼层
 楼主| 发表于 2014-1-11 19:24:01 | 显示全部楼层
站长苏飞 发表于 2014-1-11 18:52
http://www.sufeinet.com/forum.php?mod=viewthread&tid=3941&highlight=webbrowser看看第十一个

[C#] 纯文本查看 复制代码
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
  //自动点击弹出确认或弹出提示
  IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser1.Document.DomDocument;
  vDocument.parentWindow.execScript("function confirm(str){return true;} ", "javascript"); //弹出确认
  vDocument.parentWindow.execScript("function alert(str){return true;} ", "javaScript");//弹出提示
}



@站长苏飞 是这个吗?
和我说的有什么关系呢?  不太明白哦~·  求解释,谢谢·~~!
发表于 2014-1-11 19:45:45 | 显示全部楼层
第十九个说错了
 楼主| 发表于 2014-1-11 23:12:01 | 显示全部楼层

第十九个的方法我试过,是可行的。 问题是ajax每次返回1000条数据,但是前台只显示了10条数据。 如果用第十九个方法来获取的话,一次只能获取到10条数据,  效率很慢啊。  所以我才想直接采集ajax的。
发表于 2014-1-13 08:00:39 | 显示全部楼层
不可能吧,他获取多少条就会取到多少条,和显示多少条没有关系吧。
你是不是看错了,你看的取的一千条但只显示的第一页吧。
如果是这样,他是每次翻页会再取后10条的,并不是你所说的一下子取了一千条,
发表于 2015-9-4 03:42:57 | 显示全部楼层
webBrowser1.Document.Body.OuterHtml;  AJAX 后的 网页源代码
发表于 2015-9-15 16:53:56 | 显示全部楼层
站长苏飞 发表于 2014-1-13 08:00
不可能吧,他获取多少条就会取到多少条,和显示多少条没有关系吧。
你是不是看错了,你看的取的一千条但只 ...

我遇到过这样的情况,ajax返回的数据是165条,显示的数据按照最多100条显示
。他的分页没有再次调用ajax。

因为我用httpwatch监控到网页数据发送接收情况。能够看到ajax调用接收了所有的数据。
分页的时候,没有发送任何数据到服务器。

我用webbrowser获取不到全部的数据,只能模拟分页来获取全部数据。比较繁琐。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-16 03:13

© 2014-2021

快速回复 返回顶部 返回列表