C# 如何从网页中提取数据?

C# 如何从网页中提取数据?,c#,html-agility-pack,C#,Html Agility Pack,我想从网页上获取文本和数据。当网页加载在web浏览器控件内完成时,我只想按元素id从网页中提取文本? 请帮助我如何像html agility&c一样实现这一点。 对不起,我的英语很差。您可以使用HtmlDocument上的GetElementbyId方法,该方法允许您通过其标识符检索特定的DOM元素: string html = ... Read the HTML here var htmlDoc = new HtmlAgilityPack.HtmlDocument(); htmlDoc.Op

我想从网页上获取文本和数据。当网页加载在web浏览器控件内完成时,我只想按元素id从网页中提取文本? 请帮助我如何像html agility&c一样实现这一点。
对不起,我的英语很差。

您可以使用
HtmlDocument
上的
GetElementbyId
方法,该方法允许您通过其标识符检索特定的DOM元素:

string html = ... Read the HTML here

var htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.OptionFixNestedTags = true;
htmlDoc.LoadHtml(html);

var element = htmlDoc.GetElementbyId("someId");
if (element != null)
{
    string data = element.InnerText;
}

是否允许使用诸如CSQuery之类的替代(更现代)库?另外,如果你只需要所有内容的全部文本,你不需要任何库。我只需要一些html id的文本。例如,ID00123。所以我想知道如何从我的程序中获取“ID00123”。我更喜欢使用c#windows应用程序。谢谢。对于一个元素可以,但我需要从一个页面url中获取大约10个元素。使用循环怎么样?如果元素id有一些模式,你可以简单地循环使用它们。我可以通过查看页面源代码来查看元素id,但是没有模式,元素id看起来完全不同。您能给我举个例子吗?在这种情况下,您不能使用元素
id
来检索值。你应该使用一些不变的其他信息。例如,如果存在一些
值,甚至DOM结构本身。如果没有关于您正在处理的DOM结构的更多详细信息,就无法说了。例如,在c#windows应用程序中,当我们输入公司编号时,它应该从在线网站检索公司信息,并在我的c#应用程序中显示这些信息。页面链接在这里。。