2013-10-09 6 views
0

Мое требование - получить «созданную дату»/«измененную дату» набора данных на веб-странице в файл .xls или .csv.данные импорта из сети

URL-адрес является: 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, щелкните правой кнопкой мыши интересующую вас вещь и выберите «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 со значением там. Я предполагаю, что это дата эпохи, но если вы можете перевести это на представленное значение «20 октября 2011 года», вам может быть лучше, так как это числовое значение не будет зависеть от региональных настроек.

+0

Спасибо! Ваш ответ определенно пролил свет на то, как действовать. Я попытался использовать 'Dim src As String = system.net.DownloadString (« URL »)', чтобы получить исходный код в строку и на нем с помощью строковых функций я мог получить желаемый результат. – SSISqueries

Смежные вопросы