使用xpath-syntax加载html - agile -pack网站

本文关键字:agile -pack 网站 html xpath-syntax 加载 使用 | 更新日期: 2023-09-27 18:04:42

我有这个方法来选择出特定的html,并把它放在一个列表。当我使用保存在我电脑上的html文件时,效果非常好。但是如何从网站上加载内容呢

这是我的方法加载。html文件,巫婆工作:

public void TestGetHtml()
    {
        var doc = new HtmlDocument();
        doc.Load("C:/Users/Jonathan/Desktop/laggen.html");
        var xpath = "//table[@id='tableSearchArticle']/tbody/tr/td[4]";
        var listOfGtins = doc.DocumentNode.SelectNodes(xpath)
                       .Select(td => td.InnerText.Replace("GTIN:", ""));  
    }

但是我想加载一个网站而不是一个文件,像这样:

public void TestGetHtml()
    {
        var doc = new HtmlDocument();
        doc.Load("http://www.dabas.com/mypages/search.aspx?typ=FP&sosokord=laggen"); <--- this is the site I want to load
        var xpath = "//table[@id='tableSearchArticle']/tbody/tr/td[4]";
        var listOfGtins = doc.DocumentNode.SelectNodes(xpath)
                       .Select(td => td.InnerText.Replace("GTIN:", ""));  
    }

使用xpath-syntax加载html - agile -pack网站

使用

    HtmlWeb web = new HtmlWeb();
    HtmlDocument doc = web.Load("http://www.dabas.com/mypages/search.aspx?typ=FP&sosokord=laggen"); 
var xpath = "//table[@id='tableSearchArticle']/tbody/tr/td[4]";
var listOfGtins = doc.DocumentNode.SelectNodes(xpath)
               .Select(td => td.InnerText.Replace("GTIN:", ""));
foreach (string gtin in listOfGtins)
{
    Console.WriteLine(gtin);
}

如果你想通过HTTP从URL加载HTML