Как я могу собрать определенные данные с сайта

Я пытаюсь собрать данные с сайта для исследования.

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, чтобы извлечь нужные данные.

Другие вопросы по тегам