如题  HttpWebRequest抓取的内容为什么和IE上的源码不一样HttpWebRequest抓取百度搜索的内容和IE上显示的内容不一样,是因为JS搞的鬼么。。要怎么解决呢?

解决方案 »

  1.   

    你说清楚一些呀
    是不是有乱码?Encoding的问题,指定一下或者自动识别是不是页面有跳转或者验证?
      

  2.   

    情况就是这样。。把内容通过HttpWebRequest抓取到。。最后却发现内容和IE上的内容不一样。。很纠结啊。。而WebBroswer这个控件倒是可以抓取到和IE一样的内容。。但是在智能线程池里不知道要如何创建。。考虑使用异步。。没有头绪
      

  3.   


    用这种方法 WebClient client = new WebClient();        
            client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
            Stream data = client.OpenRead("http://nn.58.com/shoujihao/?pm58=se-detail-pop-jump-kw-8");
            StreamReader reader = new StreamReader(data, Encoding.Default);
            string s = reader.ReadToEnd();
            data.Close();
            reader.Close();
      

  4.   

    你的方法我原来也用过了。。我要抓取的是百度搜索里的广告的,这些广告,百度的JS可能有做判断。。不过我用WebBroswer抓取到了。。大部分情况下是正常的。。多线程里用委托创建UI控件也完成了。。我再问个问题吧href="http://www.baidu.com/baidu.php?url=yJTK000sveMMKINENLUvBJZqgI8VEcD0If12dhQ9HjlgLpip3RNgVatgs5dhXnXWHFRa-GIasBbNKsmJMWELKMqqttKKk9HlCA_MdREdnXF-v80j0BFGIeAaApZP.DD_jCYdpXZCfGotN9h9me2qhwf.U1Yz0ZDq1t5jkIgeYn30IjL5st57dxEf16KGUHYznjD0I1Y0u1dBUWDY0ZNG5gP9UgK_uyNWUvYkPsKspyfqPfKWpyfqP100Ugfqn0KopHYs0ZFY5Hf4nfK-XZ0q0APzm1YdrjDsP6" target="_blank" id="bdfs1" style="text-decoration:none;">如何在文本里出去 a标签里的属性///   <summary>  
            ///   去除HTML标记  
            ///   </summary>  
            ///   <param   name="NoHTML">包括HTML的源码   </param>  
            ///   <returns>已经去除后的文字</returns>  
            public static string StripHtml(string Htmlstring)
            {
                try
                {
                    //删除脚本
                    Htmlstring = Regex.Replace(Htmlstring, @"<script(\s[^>]*?)?>[\s\S]*? </script>", "", RegexOptions.IgnoreCase);
                    //删除样式
                    Htmlstring = Regex.Replace(Htmlstring, @"<style>[\s\S]*? </style>", "", RegexOptions.IgnoreCase);
                    //删除html标签
                    Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
                    Htmlstring.Replace("<", "");
                    Htmlstring.Replace(">", "");
                    Htmlstring.Replace("\r\n", "");
                }
                catch(Exception ex)
                {
                    throw;
                }
                return Htmlstring;
            }我的方法。。发现还是去除不掉A标签里的属性。。有人能帮忙看下么
      

  5.   

    咋个做的呢?朋友,我觉得那个东东可能是页面加载之后用js填充的内容,所以抓去不到,用webbrowser,文档加载完成之后去拿肯定是完整内容,可是webbrowser消耗内存了,伤不起啊,朋友你咋个做的