Come posso "estrarre" rapidamente informazioni specifiche da pagine Web (codice sorgente) e formattarle in XML?


0

L'essenziale: la piccola azienda per cui lavoro pubblicizza i suoi prodotti tramite Google Merchant. Carichiamo i prodotti in un file XML secondo i requisiti di Google.

Il problema: la formattazione manuale di migliaia di prodotti in XML è un compito arduo. Quello che voglio è un modo rapido per convertire le informazioni rilevanti su ogni pagina del prodotto in XML formattato. Sto cercando un modo (semi) automatico per passare da bigHTMLSourceCode -> formattedXML.

Se non sono chiaro, immagina di voler formattare una pagina di prodotto Amazon in XML. Volete il costo, la descrizione, il peso, ecc., Disposti in un certo modo, con i tag XML appropriati, ecc. E farlo per migliaia di prodotti non è sostenibile.

Ho cercato su Google ampiamente, ma non ho avuto fortuna a trovare programmi che possano aiutare in questo.


Quindi, il tuo sito Web di origine è solo una raccolta di file .html gestiti manualmente?
Der Hochstapler,

1
@OliverSalzburg Gran parte delle informazioni sul prodotto vengono gestite manualmente; ogni pagina contiene anche informazioni generate automaticamente, ma non ho accesso al "back-end" delle cose e mi è stato chiesto di trovare una soluzione con ciò che è disponibile (e tutte le informazioni necessarie sono sicuramente contenute nella fonte non elaborata codice).
MrT,

Risposte:


0

Troverai molte storie di successo con il modulo Python Beautiful Soup , ed è ampiamente raccomandato per il web scraping, che classificherei sotto (se suggerisci soluzioni con espressioni regolari, sarai rapidamente rimproverato dagli utenti SU e SO :-)). Questo è quello che avrei usato per raschiare il tuo esempio amazon.com e l'ho usato in altri contesti.

Se hai un'esperienza Python molto semplice, puoi probabilmente guardare esempi e avere rapidamente una soluzione funzionante. Se hai qualche abitudine di programmazione comune, puoi probabilmente fare lo stesso con una frazione di tempo in più.

(Non mi piace quando la gente dice "Oh, è davvero facile!" Quando in pratica richiede molto tempo per qualcuno che non è abituato allo strumento, ma credo che Beautiful Soup e Python siano una soluzione semplice e robusta. Se tu trova una soluzione che si adatta meglio a te: eccezionale :-)).


Addendum: che tipo di sistema hai dove tutte le pagine sono HTML statiche? I dati non sono archiviati in un database da qualche parte? Immagino non a causa della tua domanda. Ciò può costituire un problema (per qualsiasi soluzione automatica) se l'HTML non è coerente tra le pagine del prodotto.


Grazie! Speravo che questo problema ("web scraping" - nuovo termine!) Fosse abbastanza comune che ci fossero programmi dedicati all'attività, ma i moduli potrebbero essere abbastanza buoni. Non ho esperienza con Python, ma ho seguito corsi in C ++ e Java. Le informazioni sul prodotto sono archiviate in un database, ma non ho accesso ad esse; il mio capo mi ha chiesto di trovare una soluzione con quello che ho, dal momento che tutte le informazioni necessarie sono nella fonte.
MrT,

0

Se il tuo HTML è XHTML, puoi probabilmente usare XSLT ?

Esistono strumenti per convertire HTML in XML

La principale alternativa sarebbe quella di utilizzare un linguaggio di scripting che abbia moduli per l' analisi HTML o il web-scraping e moduli per la scrittura di XML . Ma questo significa scrivere programmi / script.


Grazie! Guarderò questi strumenti. Spero di evitare di scrivere programmi e script (sono un programmatore baaad), ma se ci dovrò immergere. I convertitori HTML-> XML che ho trovato non si sono rivelati adatti.
MrT
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.