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 através do Google Merchant. Nós carregamos os produtos em um arquivo XML de acordo com os requisitos do Google.

O problema: formatar manualmente 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. Estou procurando uma forma (semi-) automática de ir de bigHTMLSourceCode - & gt; formattedXML.

Se não estou 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 bastante, mas não tive sorte em encontrar programas que possam ajudar com isso.

MrT
fonte
Então, o site de origem é apenas uma coleção de arquivos .html mantidos manualmente?
Der Hochstapler
1
@OliverSalzburg Grande parte da informação do produto é mantida manualmente; Cada página também contém informações geradas automaticamente, mas eu não tenho acesso ao 'back end' das coisas, e fui solicitado a encontrar uma solução com o que está disponível (e todas as informações necessárias estão definitivamente contidas na fonte bruta código).
MrT

Respostas:

0

Você encontrará muitas histórias de sucesso com o módulo Python Sopa Bonita , 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 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 alguma experiência básica em Python, provavelmente poderá ver exemplos e rapidamente ter uma solução funcional. 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. encontre 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 qualquer solução automática) se o HTML não for consistente nas páginas do produto.

Daniel Andersson
fonte
Obrigado! Eu esperava que esse problema ('web scraping' - novo termo!) Fosse comum o suficiente para que houvesse programas dedicados à tarefa, mas os módulos podem ser bons o suficiente. Eu não tenho experiência em Python, mas fiz cursos em C ++ e Java. Informação do produto é armazenado em um banco de dados, mas eu não tenho acesso a ele; Meu chefe me pediu para chegar a uma solução com o que eu tenho, já que todas as informações necessárias estão na fonte.
MrT
0

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

Existem ferramentas para converter HTML em XML

A principal alternativa seria usar um linguagem de script que tem módulos para Análise de HTML ou Raspagem da web e módulos para escrevendo XML . Mas isso significa escrever programas / scripts.

RedGrittyBrick
fonte
Obrigado! Eu vou olhar para essas ferramentas. Eu estou esperando para evitar escrever programas e scripts (eu sou um programador baaad), mas vou mergulhar nisso se for preciso. Os conversores XML em HTML & gt que encontrei não se mostraram adequados.
MrT