使用c#获取html标签

Lil*_*ilz 0 c# web-scraping

好的,我有这个代码:

public static string ScreenScrape(string url)
    {
        System.Net.WebRequest request = System.Net.WebRequest.Create(url);
        // set properties of the request
        using (System.Net.WebResponse response = request.GetResponse())
        {
            using (System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream()))
            {
                return reader.ReadToEnd();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在我想过滤文本以获得div class ="comment"除了使用正则表达式之外还有其他选项吗?或者这是唯一的方法?

谢谢

SLa*_*aks 10

您需要使用HTML Agility Pack.

例如:

var doc = new HtmlWeb().Load(url);
var comments = doc.Descendants("div")
                  .Where(div => div.GetAttributeValue("class", "") == "comment");
Run Code Online (Sandbox Code Playgroud)

请注意,这不会找到<div class="OtherClass comment">; 如果你正在寻找,你可以打电话IndexOf.

  • 我几次使用敏捷包,解析几乎所有东西 - 完全棒! (2认同)