如何使用C#自动在本地获取联机HTML表

And*_*ner 6 html c# asp.net-mvc excel

好吧,保持简短:

我有一些不同的网站,其中包含我希望"本地"查询的信息的表格.

我寻找可能性,我自己也有一些想法.

  1. 在Excel中,我找到了一个函数,我可以导航到一个网页并从表中复制数据.问题是这只发生过一次.表格中的数据将每周更新,因此我每次打开程序时都需要自动更新Excel.

  2. 我可以使用一个爬虫,但后来我必须为每个表编写一个不同的解决方案,并找到一种方法来保存它.

我知道MySQL数据库包含我程序中需要的许多信息,所以如果任何解决方案需要一个完全可以接受的数据库.

关于我的程序:将用C#编写,首先是本地程序,然后是MVC项目.对这两个项目的建议非常受欢迎,如果您需要更多信息,我会尝试对其进行更多描述.:)

编辑!1

我很抱歉,我从一开始就没有开明你所谈论的是哪些桌子,但是当我开始这个问题时,我仍然需要找到所有的表格.然而,现在我已经把它们中的一些用来向你们展示我必须使用的不同类型的表格.关于这个项目,它应该告诉你我计划制作的程序仅供私人使用而不是出售.我不知道有关在公共网站上抓取的规则,所以这就是为什么我将其保密.

表2 表3

正如您所看到的,很多足球数据以非常不同的方式显示,因此我需要知道哪种方式最适合我收集数据,因为我相信使用这些知识设计医学数据库会更容易.

Sid*_*out 7

Anders,Excel有一种内置的方式来获取数据,你必须这样做一次.下次您只需刷新查询.请看这个链接.

html解析cricinfo记分卡

跟进

试试看这个页面:soccernet.espn.go.com/stats/_/league/eng.1/...有3个表,但似乎excel检测到它们.:( - Anders Gerner 7分钟前

在此特定网站中,如果您查看源,您将看到该表没有ID.所有三个表都具有相同的类"tablehead".如果需要,可以在工作簿打开事件中循环遍历所有表并提取数据.由于所有3个表具有相同的类,因此您的工作变得更容易.

或者,您也可以这样做

在Excel中,单击" 文件" | 打开,然后在对话框中,直接键入您在下面提到的URL.您会注意到Excel整齐地堆叠数据:)

实际上,您可以编写一个小的宏/代码来打开临时工作簿,然后打开URL,然后只需将临时工作簿中的表提取到工作簿中.我的估计是,在良好的互联网连接上,整个过程不应超过15秒才能完成