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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 4262|回复: 1

[Asp.Net] 在asp.net使用WebBrowser抓取ajax信息问题

[复制链接]
发表于 2014-8-17 10:10:54 | 显示全部楼层 |阅读模式
贴上代码
public class WebBrowserCrawler
    {
        private WebBrowser _webbrowder;
        private string _result { get; set; }
        private string _path { get; set; }

        public string GetReult(string url)
        {
            _path = url;

            var mThread = new Thread(FatchDataToResult);
            mThread.SetApartmentState(ApartmentState.STA);
            mThread.Start();
            mThread.Join();

            return _result;

        }

        private void FatchDataToResult()
        {

                _webbrowder = new WebBrowser();
                _webbrowder.DocumentCompleted += _webbrowder_DocumentCompleted;
                _webbrowder.Url = new Uri(_path);

                while (_webbrowder.ReadyState != WebBrowserReadyState.Complete)
                {
                    Application.DoEvents();
                }
                _webbrowder.Dispose();



        }

        void _webbrowder_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
                HtmlDocument doc = (sender as WebBrowser).Document;
                HtmlElement uinList = doc.GetElementById("list_uin");
                _result = uinList.OuterHtml;

        }
    }



调用
WebBrowserCrawler wc = new WebBrowserCrawler();
string str = wc.GetReult(url);



在VS里面测试运行正常,挂到IIS6.0上面就出问题。网页一直加载无反应。
错误信息:
Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.COMException
Stack:
   at System.Windows.Forms.WebBrowser.PerformNavigate2(System.Object ByRef, System.Object ByRef, System.Object ByRef, System.Object ByRef, System.Object ByRef)
   at System.Windows.Forms.WebBrowser.set_Url(System.Uri)
   at msjy.game.WebBrowserCrawler.FatchDataToResult()
   at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
   at System.Threading.ExecutionContext.runTryCode(System.Object)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ThreadHelper.ThreadStart()



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-9-5 23:45:35 | 显示全部楼层
我只是路过打酱油的。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-6-2 01:26

© 2014-2021

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