2013-10-09 96 views
0

我的要求是将网页上的数据集的“创建日期”/“修改日期”获取到.xls或.csv文件中。从网站导入数据

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

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

我曾尝试使用Excel数据 - >从网站导入。它不起作用!

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

感谢

+0

请考虑解释什么该网页所包含的,而不是链接到它(死链接可能有一天会发生!) – Simon

+0

网页为** **左右页面,它包含了所有与像描述,作者的数据集中的数据,创建日期,更新数据,标签等。我想从此页面获取创建日期。 – SSISqueries

回答

0

没有什么原产于SSIS解析这样的网页。这就是说,我希望你喜欢.NET编码。

我对Html Agility Pack做了类似的工作,通过它们的文档和示例来了解如何使用其库解析HTML的基础知识。

一旦你解决了这个问题,确定你想要的元素的路径是一件简单的事情。我找到了使用Chrome打开页面的最佳方法,右键单击感兴趣的内容并选择“检查元素”。扩大领域,直到你得到你之后是的东西,然后在检查窗口点击右键并选择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日”的价值,你可能会更好,因为这个数值不会依赖于区域设置。

+0

谢谢!你的回答明确地告诉你如何着手。我尝试使用'Dim src As String = system.net.DownloadString(“URL”)'通过使用字符串函数将源代码转换为字符串并在其中获得所需的输出。 – SSISqueries