请问一个问题 抓取别人网站数据 可能这部分数据是ajax加载的,要么你可以使用webbrowser要么你分析源代码或者通过抓包进一步模拟这些异步提交和返回的数据 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 WebClient wc = new WebClient(); wc.DownloadString("");这个方法 下载的源代码 没有我要的那部分数据 //个人用于winform的一段核心,抓取别人网站数据的代码,希望有所帮助private string GetCnBlogs(string txtUrl){ string html = String.Empty; HttpWebRequest cnbogs = (HttpWebRequest)System.Net.WebRequest.Create(txtUrl); cnbogs.Accept = "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*"; cnbogs.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MALN; CIBA; InfoPath.2; .NET4.0C; .NET4.0E; Media Center PC 6.0; Tablet PC 2.0; AskTB5.6)"; cnbogs.Method = "GET"; HttpWebResponse cnblogsRespone = (HttpWebResponse)cnbogs.GetResponse(); if (cnblogsRespone != null&&cnblogsRespone.StatusCode==HttpStatusCode.OK) { using(StreamReader sr = new StreamReader(cnblogsRespone.GetResponseStream())) { html = sr.ReadToEnd(); } } return html;} private void btnGetHtml_Click(object sender, EventArgs e) { string myUrl = "www.yourwebsite.com"; MessageBox.Show(GetCnBlogs(myUrl)); } 或者你找到ajax提交的地址和参数 模拟该网站的ajax提交 偷取他的数据 实例地址:http://blog.csdn.net/joyhen/article/details/8814001 我想抓取 这个比分网的 比赛数据 http://live2.titan007.com/oldIndexall.aspx 比赛数据源 是xml 我用调试工具看了下 http://live2.titan007.com/vbsxml/change.xml数据是请求这个地址获取的。直接请求是404错误是因为他们会判断 HttpContext.Current.Request.UrlReferrer应该还有其他限制,这个就要你一步步去尝试了。 他的数据 是在js中绑定的 数据是xml 但是加载数据的那个js 不能单独请求 服务器那边做限制了! RDLC的主从表问题 C# .net 一个解决方案里有两个网站为什么第二个生成不成功呢 请问一个html代码的问题 Cache保存DatasSet的问题,然后用Ajax调用 一个URL转向的问题 在客户端修改DataGrid单元格中的值,为何提交后还是原来的? 请问一个VB.NET中DATAGRID查询的问题 存储过程在查询分析器中可以执行,在VS.NET中执行不了,请各位救命! 一个令人伤心的问题---关于应用程序配置 datetime的问题 asp.net的mvc哪个版本比较多人用啊?? 百度云文件上传功能如何实现的?
wc.DownloadString("");
这个方法 下载的源代码 没有我要的那部分数据
private string GetCnBlogs(string txtUrl)
{
string html = String.Empty;
HttpWebRequest cnbogs = (HttpWebRequest)System.Net.WebRequest.Create(txtUrl);
cnbogs.Accept = "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*";
cnbogs.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MALN; CIBA; InfoPath.2; .NET4.0C; .NET4.0E; Media Center PC 6.0; Tablet PC 2.0; AskTB5.6)";
cnbogs.Method = "GET"; HttpWebResponse cnblogsRespone = (HttpWebResponse)cnbogs.GetResponse();
if (cnblogsRespone != null&&cnblogsRespone.StatusCode==HttpStatusCode.OK)
{
using(StreamReader sr = new StreamReader(cnblogsRespone.GetResponseStream()))
{
html = sr.ReadToEnd();
}
}
return html;
} private void btnGetHtml_Click(object sender, EventArgs e)
{
string myUrl = "www.yourwebsite.com";
MessageBox.Show(GetCnBlogs(myUrl));
}
比赛数据源 是xml 我用调试工具看了下
数据是请求这个地址获取的。直接请求是404错误
是因为他们会判断 HttpContext.Current.Request.UrlReferrer
应该还有其他限制,这个就要你一步步去尝试了。