C# 抓取一系列页面

C# 抓取一系列页面,c#,web-crawler,C#,Web Crawler,我是C#新手,想知道什么是抓取一系列页面的最佳方式 如果我想获取许多这样的页面的来源: - 如何使其在1-44范围内抓取每页 谢谢:)试试 WebClient wc = new WebClient(); for(int i = 1; i < 45 ; i++) { var pageContent = wc.DownloadString("http://website.com/list/" + i); // do your page content processing he

我是C#新手,想知道什么是抓取一系列页面的最佳方式

如果我想获取许多这样的页面的来源: -

如何使其在1-44范围内抓取每页

谢谢:)

试试

WebClient wc = new WebClient();
for(int i = 1; i < 45 ; i++)
{
    var pageContent = wc.DownloadString("http://website.com/list/" + i);
    // do your page content processing here
}
WebClient wc=新的WebClient();
对于(int i=1;i<45;i++)
{
var pageContent=wc.DownloadString(“http://website.com/list/“+i);
//在这里进行页面内容处理吗
}
虽然很明显,您会希望在此基础上添加错误处理



根据应用程序的目标,您可能需要在使用WebClient后调用Dispose()。在某些环境中,WebClient实现IDisposable,而在其他环境中则没有。感谢@Paulo Moretti在评论中提到这一点。

这里有一个简单的方法,它不是最通用的webcrawler,但可以帮助您完成当前的规范

for(int i = 1; i < 45;i++){
string url = "http://website.com/list/"+i;
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(URL);
myRequest.Method = "GET";
WebResponse myResponse = myRequest.GetResponse();
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
myResponse.Close();
//do something with the result
}

亲切的问候

您是C#的新手。没关系,我也是大三学生。。。但是,你来这里之前有没有使用过谷歌(用C#爬行网页)呢?s/website.com/stackoverflow.com/-s/list/questions/-或者你可以直接下载开放数据:-D@PauloMoretti-取决于应用程序类型。例如,在Windows Phone空间中,它确实实现了IDisposable,因此在回答中更容易不提及它。@ZombieSheep您的反对是有效的。我只是指出,因为通常当人们用C#标记问题时,谈论的是.NET,而不是Silverlight。@Paulo Moretti-我会更新答案以提及它。谢谢
using System.Text;
using System.Net;
using System.IO;