我希望我的程序自动从网站上下载某些信息。在发现这几乎是不可能的之后,我想如果程序只是下载整个网页,然后在字符串中找到我需要的信息,那将是最好的。如何为网站刮取信息?
如何在特定单词后面找到某些单词/数字?之前我想要的号码是总是一样。这个数字不一样,这是我在我的程序中需要的数字。
我希望我的程序自动从网站上下载某些信息。在发现这几乎是不可能的之后,我想如果程序只是下载整个网页,然后在字符串中找到我需要的信息,那将是最好的。如何为网站刮取信息?
如何在特定单词后面找到某些单词/数字?之前我想要的号码是总是一样。这个数字不一样,这是我在我的程序中需要的数字。
听起来像屏幕抓取。我推荐使用CSQuery https://github.com/jamietre/CsQuery(或者HtmlAgilityPack,如果你想的话)。获取源代码,解析为对象,遍历所有文本节点并在那里进行字符串比较。这样做的实际方式会改变源HTML的完成方式。
莫比像从内存(CSQuery)写了这个未经测试的例子
var dom = CQ.Create(stringWithHtml);
dom["*"].Each((i, e) =>
{
// handle only text nodes
if (e.NodeType == NodeType.TEXT_NODE) {
// do your check here
}
}
我用HTML Agility Pack多个应用程序和它工作得很好。很多选项也是如此。
这是一个可爱的HTML解析器,通常为此推荐。它将采用格式不正确的HTML并将其按摩到XHTML中,然后像XML类一样穿越DOM。所以,对于你在野外找到的代码非常有用。
可否请您发表示例文字? – BergListe 2013-03-05 10:23:54
首先您需要确保该单词是唯一的,然后您可以使用http://msdn.microsoft.com/de-de/library/system.text.regularexpressions.regex(v=vs.80).aspx – Vogel612 2013-03-05 10:24:09
为了清晰起见,我编辑了您的问题,并使用社区更为熟悉的词组。如果我的任何更改不正确,请进行编辑以澄清您的问题。 – 2013-03-05 10:24:18