HttpWebRequest抓取的内容为什么和IE上的源码不一样 如题 HttpWebRequest抓取的内容为什么和IE上的源码不一样HttpWebRequest抓取百度搜索的内容和IE上显示的内容不一样,是因为JS搞的鬼么。。要怎么解决呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你说清楚一些呀是不是有乱码?Encoding的问题,指定一下或者自动识别是不是页面有跳转或者验证? 情况就是这样。。把内容通过HttpWebRequest抓取到。。最后却发现内容和IE上的内容不一样。。很纠结啊。。而WebBroswer这个控件倒是可以抓取到和IE一样的内容。。但是在智能线程池里不知道要如何创建。。考虑使用异步。。没有头绪 用这种方法 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(); 你的方法我原来也用过了。。我要抓取的是百度搜索里的广告的,这些广告,百度的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标签里的属性。。有人能帮忙看下么 咋个做的呢?朋友,我觉得那个东东可能是页面加载之后用js填充的内容,所以抓去不到,用webbrowser,文档加载完成之后去拿肯定是完整内容,可是webbrowser消耗内存了,伤不起啊,朋友你咋个做的 2个问题 VS2008 封装字段 未能找到定义 【求助】远程桌面数据压缩问题 网络直播如何做? 请教一个ADOMD.net的初级问题 关于LinkButton页面刷新后重复执行的问题 100分求汉字编码 如何显示数据库中特定记录,特定字段的值?(最优的办法) 在线等!! 请教关于字节数组的问题! .aspx中TreeView使用Session后的问题 C#读取rtf格式字符串后,图片显示不出来 Combox.Text怎么无法清除内容呢?
是不是有乱码?Encoding的问题,指定一下或者自动识别是不是页面有跳转或者验证?
用这种方法 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();
/// 去除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标签里的属性。。有人能帮忙看下么