Como eu rapidamente "extrai" informações específicas de páginas da Web (código-fonte) e as formando em XML?

0

A essência: a pequena empresa em que trabalho anuncia seus produtos por meio do Google Merchant. Nós carregamos os produtos em um arquivo XML de acordo com os requisitos do Google.

O problema: manualmente formatar milhares de produtos em XML é uma tarefa árdua. O que eu quero é uma maneira rápida de converter as informações relevantes em cada página do produto em XML formatado. Eu estou procurando uma maneira (semi) automática de ir de bigHTMLSourceCode - > formattedXML.

Se eu não estiver sendo claro, imagine querer formatar uma página do produto Amazon em XML. Você deseja que o custo, a descrição, o peso, etc., organizados de uma determinada maneira, com as tags XML apropriadas, etc., e para milhares de produtos não sejam sustentáveis.

Eu pesquisei muito, mas não tive sorte em encontrar programas que possam ajudar com isso.

    
por MrT 05.04.2012 / 17:20

2 respostas

0

Você encontrará muitas histórias de sucesso com o módulo Python Beautiful Soup , e é amplamente recomendado para web scraping , que eu classificaria isso em (se você sugerir soluções com expressões regulares, você será rapidamente repreendido pelos usuários de SU e SO :-)). Isso é o que eu teria usado para raspar o seu exemplo amazon.com, e eu usei em outros contextos.

Se você tiver uma experiência muito básica em Python, provavelmente poderá ver exemplos e rapidamente ter uma solução em funcionamento. Se você tiver algum hábito de programação comum, provavelmente poderá fazer o mesmo com uma fração de mais tempo.

(Eu não gosto quando as pessoas dizem "Ah, é bem fácil!" quando na prática leva muito tempo para alguém que não está acostumado com a ferramenta, mas eu acredito que o Beautiful Soup e o Python são uma solução simples e robusta Se você encontrar uma solução que você se encaixa melhor: ótimo :-)).

Adendo: que tipo de sistema você tem onde todas as páginas são HTML estáticas? Os dados não são armazenados em um banco de dados em algum lugar? Eu acho que não por causa da sua pergunta. Isso pode representar um problema (para qualquer solução automática) se o HTML não for consistente nas páginas do produto.

    
por 05.04.2012 / 17:33
0

Se o seu HTML é XHTML, você provavelmente pode usar XSLT ?

Existem ferramentas para converter HTML em XML

A principal alternativa seria usar uma linguagem de script que tenha módulos para HTML parsing ou web-scraping e módulos para escrever XML . Mas isso significa escrever programas / scripts.

    
por 05.04.2012 / 17:25