2

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

URL-адреса хорошо организованы в формате example.com/x, где x - это возрастающий номер, а все страницы структурированы одинаково. Мне просто нужно взять определенные заголовки и несколько номеров, которые всегда находятся в тех же местах. Затем мне нужно будет получить эти данные в структурированной форме для анализа в Excel.

Я использовал wget прежде, чтобы загрузить страницы, но я не могу понять, как получить определенные строки текста.

В Excel есть функция для сбора данных из Интернета (Данные-> Из Интернета), но из того, что я вижу, она позволяет загружать только таблицы. К сожалению, мне нужны данные не в таблицах.

2 ответа2

2

Вы можете использовать iMacros для автоматизации этой задачи. Это инструмент для автоматизации повторяющихся задач, его можно использовать для извлечения данных с сайта и сохранения их в виде файла CSV.

Поскольку x в example.com/x следует шаблону (т. Е. Возрастанию), вы можете легко запрограммировать (даже без программирования) его посещение каждой страницы и извлечение данных из нее.

Узнайте больше на iMacros Tutorial.

В качестве альтернативы вы также можете попробовать ScraperWiki (требуется некоторый опыт программирования).

1

Вы можете вставить этот код в модуль:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .