首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xpath语法使用Html-agility-pack加载网站

使用xpath语法使用Html-agility-pack加载网站
EN

Stack Overflow用户
提问于 2014-05-23 19:08:36
回答 1查看 451关注 0票数 0

我使用这个方法来选择特定的html并将其放入列表中。当我使用保存在我电脑上的html文件时,效果很好。但是如何从网站加载内容呢?

这是我加载.html文件的方法,它的工作原理是:

代码语言:javascript
复制
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:", ""));  
    }

但是我想加载一个网站,而不是一个文件,如下所示:

代码语言:javascript
复制
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:", ""));  
    }
EN

回答 1

Stack Overflow用户

发布于 2014-05-23 19:44:50

使用

代码语言:javascript
复制
    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);
}

如果要从URL加载HTTP上的HTML。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23827624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档