0

我的要求是将网页上数据集的“创建日期”/“修改日期”转换为 .xls 或 .csv 文件。

网址是:https ://data.medicare.gov/Hospital-Compare/Agency-For-Healthcare-Research-And-Quality-Nationa/sdhm-um6i/about

从这个网页,我想导入创建日期,您可以使用 SSIS 中的脚本任务在右侧看到该日期。

我试过使用 excel data -> import from web 。它不起作用!

如果有人对此有任何建议,那将有很大帮助。

谢谢

4

1 回答 1

0

SSIS 没有任何东西可以解析这样的网页。也就是说,我希望你喜欢 .NET 编码。

我已经对Html Agility Pack做了类似的事情,通过他们的文档和示例来了解如何使用他们的库解析 HTML 的基础知识。

一旦你解决了这个问题,确定你想要的元素的路径就很简单了。我找到了使用 Chrome 打开页面的最佳方法,右键单击感兴趣的内容并选择“检查元素”。展开字段,直到你找到你想要的东西,然后在检查器窗口中右键单击并选择Copy XPath

在此处输入图像描述

这导致以下 xpath 选择器

//*[@id="aboutSection"]/div/div/div/div[1]/p[1]/span/span

然后我会在代码中使用它

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(this.html);
string createDate = string.Empty;
createDate = doc.DocumentNode.SelectSingleNode("//*[@id="aboutSection"]/div/div/div/div[1]/p[1]/span/span").InnerText.Trim();

您需要摆弄 SelectSingleNode 调用的确切机制,但这是一般概念。您可能还注意到您有一个属性 data-rawdatetime ,其中有一个值。我猜那是纪元日期,但如果您可以将其转换为“2011 年 10 月 20 日”的呈现值,您可能会更好,因为该数值不会依赖于区域设置。

于 2013-10-09T16:06:59.503 回答