Como analisar uma página da Web em um arquivo de texto ou Excel?

1

Estou tentando descobrir uma maneira de coletar de 4 a 5 linhas de texto de várias páginas do mesmo site. As informações estão sempre no mesmo lugar na página da Web. Como eu poderia obter essas informações em um texto ou, preferencialmente, em um arquivo do Excel?

    
por Cistoran 07.03.2013 / 21:35

3 respostas

1

tradicionalmente, você faz o download das páginas HTML e procura alguma constante que preceda imediatamente seus dados. infelizmente sua pergunta não tem uma resposta universal, pois cada site é diferente. Eu escrevi scripts em python, Bash e até em C # que baixam uma página, pesquisam pela tag que eu quero e a extraem.

Dê uma olhada no código-fonte das páginas e encontre sua parte de dados (o firebug é muito útil para isso) e determine os delimitadores de início e fim do conteúdo que você deseja extrair.

aqui estão alguns scripts que as pessoas escreveram para raspar o XKCD.com link

    
por 07.03.2013 / 21:43
1

Você pode tentar raspar uma página usando JavaScript (na forma de um script Greasemonkey / Userscript / uma extensão / um bookmarklet / ...). O bookmarklet significa que você tem que pular manualmente para essa página e executá-lo. Os outros métodos permitem passar os dados diretamente para o seu banco de dados (armazenamento local ao usar uma extensão privilegiada ou um servidor web).

Escrever código Javascript exige conhecimento sobre esse campo, você procuraria por funções DOM como document.getElementById , getElementsByClassName e querySelector ou XPath . Como o Etsy já usa o jQuery, você também pode usar o jQuery para obter os dados.

Como alternativa à captura, considere o uso de uma API, se disponível. Uma pesquisa rápida revelou as seguintes páginas que podem (ou não) ajudá-lo:

por 08.03.2013 / 00:07
0

Isso depende muito da sua área de especialização, mas no passado para esse tipo de operação eu geralmente uso PHP DOM Parser HTML . É muito simples de usar e a documentação é bastante informativa.

A sintaxe para consultar o DOM é bastante semelhante ao jQuery, se você já usou isso antes.

Você pode usar os mais verbosos find('div[id=foo]'); e find('div[class=bar]'); , mas também pode usar o método mais compacto do tipo jQuery para definir seletores com find('#foo'); e find('.bar'); .

Eu pessoalmente uso o Chrome Inspector para identificar os elementos que desejo consultar para encontrar seu id, classe, tag etc.

Esteja ciente de que há uma pequena chance de você encontrar erros de memória dependendo do tamanho do arquivo que pretende carregar na memória, mas se a página for semelhante à que está na captura de tela acima, você não deverá ter problemas. .

    
por 08.03.2013 / 00:00