从网络导入数据

时间:2013-10-09 15:33:35

标签: web import ssis last-modified

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

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

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

我尝试过使用Excel数据 - >从网上导入。它没有用!

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

谢谢

1 个答案:

答案 0 :(得分:0)

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

我已经通过他们的文档和示例完成了与Html Agility Pack工作类似的工作,以了解如何使用他们的库解析HTML的基础知识。

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

enter image description here

这导致以下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日”的呈现值,你可能会更好,因为该数值不会取决于区域设置。