Во-первых, вы можете создать функцию для возврата всего HTML-кода веб-сайта, как вы это сделали. Вот тот, который у меня есть!
public string GetPageContents()
{
string link = "https://www.abc.net.au/news/science/"
string pageContent = "";
WebClient web = new WebClient();
Stream stream;
stream = web.OpenRead(link);
using (StreamReader reader = new StreamReader(stream))
{
pageContent = reader.ReadToEnd();
}
stream.Close();
return pageContents;
}
Тогда вы могли бы создать функцию, которая возвращала бы подстроку или список подстрок (то есть, если бы вы хотели все теги , вы, вероятно, получили бы более одного).
List<string> divTags = GetBetweenTags(pageContents, "<div>", "</div>")
Это даст вам список, где вы можете, например, выполнить другой поиск тегов внутри каждого из этих тегов .
public List<string> GetBetweenTags(string pageContents, string startTag, string endTag)
{
Regex rx = new Regex(startTag + "(.*?)" + endTag);
MatchCollection col = rx.Matches(value);
List<string> tags = new List<string>();
foreach(Match s in col)
tags.Add(s.ToString());
return tags;
}
Редактировать: Ничего себе не знал о Agility Pack HTML, спасибо @Gauravsa, я обновлю свой проект, чтобы использовать его!