Como posso extrair dados específicos de um site?

2

Estou tentando coletar dados de um site para pesquisa.

Os URLs são bem organizados em um formato example.com/x, com x como um número crescente e todas as páginas são estruturadas da mesma maneira. Eu só preciso pegar certos títulos e alguns números que estão sempre nos mesmos locais. Depois, precisarei colocar esses dados em um formulário estruturado para análise no Excel.

Eu usei o wget antes para fazer download de páginas, mas não consigo descobrir como capturar linhas de texto específicas.

O Excel tem um recurso para capturar dados da Web (Data- > De Web), mas, pelo que vejo, só me permite baixar tabelas. Infelizmente, os dados de que preciso não estão em tabelas.

    
por Stoney 12.09.2012 / 17:47

2 respostas

2

Você pode usar iMacros para automatizar essa tarefa. É uma ferramenta para automatizar tarefas repetitivas, pode ser usada para extrair dados de um site e salvá-los como um arquivo CSV.

Como x em example.com/x segue um padrão (ou seja, ascendente), você pode programar facilmente (mesmo sem exeprience de programação) para visitar cada página e extrair dados dela.

Leia mais em Tutorial do iMacros .

Alternativamente, você também pode tentar o ScraperWiki (é necessária alguma experiência em programação).

    
por 12.09.2012 / 18:21
1

Você pode colar esse código em um módulo:

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

Você pode simplesmente analisar a cadeia longa na célula A1 para extrair os dados necessários.

    
por 12.09.2012 / 22:08