我使用以下方法从我的网站检索源代码 -
class WorkerClass1
{
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();
return sourceCode;
}
}
然后实现WorkerClass1
-
private void button1_Click(object sender, EventArgs e)
{
string url = textBox1.Text;
string sourceCode = WorkerClass1.getSourceCode(url);
StreamWriter sw = new StreamWriter(@"path");
sw.Write(sourceCode);
sw.Close();
}
这很好用并从我的主页检索HTML,但是一旦检索到第一页,我想要关注的页面底部有链接。
有没有办法可以修改我当前的代码来执行此操作?
答案 0 :(得分:1)
当然可以。
我要做的是使用寻找链接的正则表达式来阅读HTML。对于每个匹配,我会将这些链接放在队列或类似的数据结构中,然后使用相同的方法查看该源。
考虑使用HTMLAgilityPack进行解析,它可能会更容易,即使使用Google查找链接应该非常简单。