需要的建议:使用.NET屏幕抓取网页

需要的建议:使用.NET屏幕抓取网页,.net,screen-scraping,.net,Screen Scraping,我需要一个关于我即将开始的项目的建议 简而言之,我的应用程序必须访问某个足球网站,下载HTML并提取必要的数据 这就是我到目前为止所做的: :1)转到某个足球网站(例如)并使用WebClient下载HTML :2)使用SgmlReader将HTML转换为XML :3)使用XmlDocument检索我正在查找的数据。这通常包括: :使用GetElementsByTagName()检索节点(例如GetElementsByTagName(“tr”)) :循环通过GetElementsByTagName

我需要一个关于我即将开始的项目的建议

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

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

1)转到某个足球网站(例如)并使用WebClient下载HTML

2)使用SgmlReader将HTML转换为XML

3)使用XmlDocument检索我正在查找的数据。这通常包括:

:使用GetElementsByTagName()检索节点(例如GetElementsByTagName(“tr”))

:循环通过GetElementsByTagName()方法返回的节点列表

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

我在考虑LINQ到XML。您认为这会提高性能吗


如有任何建议或意见,将不胜感激

只需使用HTML敏捷包

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

使用诸如“谁为您做了一切”之类的服务。您还可以使用免费服务,例如。我相信您可以以不同的格式导出数据,尽管我不知道您是否可以实时获取数据,但您可能会有延迟


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

将数据转换为XML后,您可以使用将其转换为更简单的XML集和更适合您的用途的XML集。从那里,您可以使用LINQtoXML从XML中获取所需的数据。这种方法的好处是,它将网站与数据收集分离,这样当网站更改其格式时,您只需更改XSLT以匹配,而无需涉及任何其他内容。

我想我将使用HtmlAgilityPack,但我发现的只是3个非常基本的示例以及一个糟糕的API引用。您知道更丰富的文档吗?您需要阅读XPath文档,HtmlAgilityPack所做的是向Html添加对XPath查询的支持