我希望我的程序仅自动从网站下载某些信息。在发现这几乎是不可能的之后,我认为程序最好只下载整个网页,然后在字符串中找到我需要的信息。
如何在特定单词之后找到某些单词/数字?我想要的数字之前的单词总是一样的。数字各不相同,这就是我的程序中需要的数字。
我希望我的程序仅自动从网站下载某些信息。在发现这几乎是不可能的之后,我认为程序最好只下载整个网页,然后在字符串中找到我需要的信息。
如何在特定单词之后找到某些单词/数字?我想要的数字之前的单词总是一样的。数字各不相同,这就是我的程序中需要的数字。
听起来像屏幕刮擦。我推荐使用 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,然后是可遍历的 DOM,例如 XML 类。因此,对于您在野外找到的代码非常有用。