2013-10-09 3 views
0

내 요구 사항은 웹 페이지의 데이터 세트의 "만든 날짜"/ "수정 한 날짜"를 .xls 또는 .csv 파일로 가져 오는 것입니다.웹에서 데이터 가져 오기

URL은 : https://data.medicare.gov/Hospital-Compare/Agency-For-Healthcare-Research-And-Quality-Nationa/sdhm-um6i/about이 웹 페이지에서

, 난 당신이 SSIS에서 스크립트 작업을 사용하여 오른쪽에 볼 수 있습니다 만든 날짜를 가져올 것입니다.

나는 웹에서 엑셀 데이터 -> 가져 오기를 사용해 보았습니다. 그것은 작동하지 않습니다!

누군가이 문제에 대해 의견이 있으면 도움이 될 것입니다.

감사합니다.

+0

웹 페이지에 링크가 포함되어 있는지 설명해 주시길 바랍니다. (언젠가는 죽은 링크가 발생할 수 있습니다!) – Simon

+0

웹 페이지는 약 ** 페이지이며 설명, 작성자, 저자 등의 데이터 세트와 관련된 모든 데이터가 포함되어 있습니다. 생성 된 날짜, 업데이트 된 데이터, 태그 등이 있습니다.이 페이지에서 생성 된 날짜를 얻고 싶습니다. – SSISqueries

답변

0

이렇게 웹 페이지를 구문 분석하기위한 SSIS의 기본 요소는 없습니다. 즉, .NET 코딩이 좋기를 바랍니다.

나는 Html Agility Pack과 비슷한 것을했습니다. 라이브러리와 함께 HTML을 구문 분석하는 방법의 기본 사항을 이해하기 위해 설명서와 예제를 사용하십시오.

일단 해결하면 원하는 요소의 경로를 결정하는 것이 간단합니다. Chrome에서 페이지를 열려면 가장 좋은 방법을 찾은 다음 관심있는 항목을 마우스 오른쪽 버튼으로 클릭하고 '요소 검사'를 선택하십시오. 그런 다음 관리자 창에서 마우스 오른쪽 버튼을 클릭하고 다음 XPath는 선택 결과

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

그때 좋겠 Copy XPath

enter image description here

을 선택하면 후있는 일에 도달 할 때까지 필드를 확장

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