2013-10-09 125 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