使用HtmlAgilityPack刮取精确的字符串

时间:2017-01-25 09:40:50

标签: c# html web-scraping html-agility-pack scrape

我试图从YouTube视频中抓取视频标签,即使我遇到困难也应该非常简单。 我找不到关于我想要找到的内容的很多文档,所以现在我问你谁有HtmlAgilityPack的经验。

我试图抓住它的事情。

video:tag" content="Comedy">

以及所有其他video:tag

enter image description here

正如您所看到的,标签是可区分的。 然而,这是我得到了多远我不知道如何抓住那些标签。

如何获取第一个视频标记并将其显示在MessageBox.Show();

    private void btnLoad_Click(object sender, EventArgs e)
    {
        HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
        htmlDoc.LoadHtml("https://www.youtube.com/watch?v=ilh3hxNdpZs");

        htmlDoc.DocumentNode.Descendants("video:tag");
    }

1 个答案:

答案 0 :(得分:1)

我可以说,问题可能是在html文档中使用了错误的方法。 htmlDoc.LoadHtml(...)实际上接受实际的html / xml作为参数表示为字符串,而不是uri到html页面。

在您的方案中,您可以尝试使用HtmlWeb课程。 你可以使用

var htmlWeb = new HtmlWeb();

htmlWeb.Load(url: "https://www.youtube.com/watch?v=ilh3hxNdpZs")将返回带有解析后的html页面的HtmlDocument实例。

视频代码的查询效果很好,应与视频代码匹配。

我希望这会有所帮助。