我正在编写一段代码来从网站获取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);
}
答案 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);
自:
答案 1 :(得分:0)
如果您正在使用c#删除使用 HtmlAgilityPack nuget包,或者您也可以从互联网下载它的dll,这是使用c#进行报废的最简单方法。
HtmlWeb htmlWeb = new HtmlWeb();
HtmlDocument htmlDocument = htmlWeb.Load("http://google.com");
然后您可以轻松地在htmldocument上执行所有必需的操作。请参阅以下链接。 C# web Scrapping