Как я могу собрать определенные данные с сайта
Я пытаюсь собрать данные с сайта для исследования.
URL-адреса хорошо организованы в формате example.com/x, где x - это возрастающий номер, а все страницы структурированы одинаково. Мне просто нужно взять определенные заголовки и несколько цифр, которые всегда находятся в тех же местах. Затем мне нужно будет получить эти данные в структурированном виде для анализа в Excel.
Я использовал wget прежде, чтобы загрузить страницы, но я не могу понять, как захватить определенные строки текста.
В Excel есть функция для сбора данных из Интернета (Данные-> Из Интернета), но из того, что я вижу, она позволяет загружать только таблицы. К сожалению, мне нужны данные не в таблицах.
2 ответа
Вы можете использовать iMacros для автоматизации этой задачи. Это инструмент для автоматизации повторяющихся задач, его можно использовать для извлечения данных с сайта и сохранения их в виде файла CSV.
Как x
в example.com/x
Следуя шаблону (т.е. восходящему), вы можете легко запрограммировать его (даже без программирования), чтобы посещать каждую страницу и извлекать из нее данные.
Прочитайте больше на iMacros Tutorial.
В качестве альтернативы вы также можете попробовать ScraperWiki (требуется некоторый опыт программирования).
Вы можете вставить этот код в модуль:
Option Explicit
Sub get_data()
Dim result As String
Dim myURL As String
Dim winHttpReq As Object
Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
myURL = "example.com/x format"
winHttpReq.Open "GET", myURL, False
winHttpReq.Send
result = winHttpReq.responseText
Application.ScreenUpdating = True
Range("Sheet1!A1").value = result
End sub
Вы можете просто проанализировать длинную строку в ячейке A1, чтобы извлечь нужные данные.