我需要为即将开始的项目提供建议。

简而言之,我的应用程序必须访问某个足球网站,下载HTML并提取必要的数据。

这是我到目前为止所做的:

:: 1)访问某个足球网站(例如 http://www.livescore.com/default.dll?page=england )并使用WebClient下载HTML。

:: 2)使用SgmlReader将HTML转换为XML

:: 3)使用XmlDocument检索我要查找的数据。通常这涉及:

::::::: 3.1)使用GetElementsByTagName()检索节点(例如GetElementsByTagName(" tr"))

::::::: 3.2)循环访问GetElementsByTagName()方法返回的节点列表

有没有更好的方法来做我想做的事情?

我在想LINQ to XML。你认为这会改善表现吗?

我们将非常感谢任何建议或意见!

有帮助吗?

解决方案

只需使用HTML Agility Pack! http://www.codeplex.com/htmlagilitypack

通过这种方式,您可以使用XPath查询文档以获取所需的节点。您甚至可以使用Firefox的插件Firebug来帮助您构建XPath查询

其他提示

使用这些人等服务,他们为您完成了大部分工作。您还可以使用免费服务,例如 Dapper 。我相信您可以导出不同格式的数据,虽然我不知道您是否可以实时获取数据,但可能会有延迟。

如果您不想使用第三方解决方案在内部编程,可以节省您的时间和金钱。

将数据转换为XML后,您可以使用 XSLT 将其转换为一组更简单的XML,更适合您的目的。从那里,您可以使用LINQ to XML从XML中获取所需的数据。这种方法的好处是它可以将网站与数据收集分离,这样当网站更改格式时,您只需更改XSLT即可匹配,无需其他任何操作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top