抓取html页面源代码一直返回null

时间:2016-06-13 11:16:28

标签: c# visual-studio web-scraping

我正在编写一段代码来从网站获取html页面的源代码 但是变量sourceCode保持为null并且它没有得到html代码

这是我的代码 class HtmlClass { public static string getSourceCode(string url) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); StreamReader sr = new StreamReader(resp.GetResponseStream()); string sourceCode = sr.ReadToEnd(); sr.Close(); resp.Close(); return sourceCode; } }

这就是我使用它的地方:  private void button3_Click(object sender, EventArgs e) { string url = textBox1.Text; string sourceCode = HtmlClass.getSourceCode(url); }

你能告诉我可能出错的地方吗?

2 个答案:

答案 0 :(得分:0)

也许您的网址为空?

更简单的方法:

using System.Net;
using System.Net.Http;  // in LINQPad, also add a reference to System.Net.Http.dll

WebRequest req = HttpWebRequest.Create("http://google.com");
req.Method = "GET";

string source;
using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))
{
    source = reader.ReadToEnd();
}

Console.WriteLine(source);

自:

How can I download HTML source in C#

答案 1 :(得分:0)

如果您正在使用c#删除使用 HtmlAgilityPack nuget包,或者您也可以从互联网下载它的dll,这是使用c#进行报废的最简单方法。

HtmlWeb htmlWeb = new HtmlWeb();
HtmlDocument htmlDocument = htmlWeb.Load("http://google.com");

然后您可以轻松地在htmldocument上执行所有必需的操作。请参阅以下链接。 C# web Scrapping