2010-08-12 3 views
7

Ho usato 3 lingue per Web Scraping - Ruby, PHP e Python e onestamente nessuno di loro sembra perfetto per l'attività.C'è qualche lingua che è semplicemente "perfetta" per il web scraping?

Ruby ha un'eccellente libreria di analisi XML e di meccanizzazione, ma il supporto del foglio di calcolo è molto scarso.

PHP ha un eccellente foglio di calcolo e libreria di analisi HTML ma non ha un equivalente di WWW: Mechanize.

Python ha una libreria Mechanize molto scarsa. Ho avuto molti problemi e ancora non sono riuscito a risolverli. La sua libreria di fogli di calcolo è anche più o meno decente dal momento che non è in grado di creare file XLSX.

C'è qualcosa che è semplicemente perfetto per il webscraping.

PS: Sto lavorando su piattaforma Windows.

+3

supporto per il formato Excel è una sorta di ortogonale al web scraping ... –

+2

penso 'perfetto' è piuttosto soggettivo, tuttavia, hai provato .NET? Penso che la sua libreria di analisi XML sia abbastanza forte e che si possa legare in MSOffice abbastanza facilmente anche per il supporto di fogli di calcolo. – Tommy

+0

@Tommy: ha un equivalente di Mechanize? L'avevo usato con WebBrowserControl ma l'ho trovato inefficiente. – Shubham

risposta

1

perché non utilizzare il formato XML Spreadsheet? È semplicissimo da creare e probabilmente sarebbe banale con qualsiasi tipo di sistema basato su classi.

Inoltre, per Python hai provato BeautifulSoup per l'analisi? Urllib + BeautifulSoup è una combinazione molto potente.

0

Python + Beautiful Soup per il web scraping e poiché si è su Windows, è possibile utilizzare win32com per l'automazione di Excel per generare i file xlsx.

1

Risposta breve no.

Il problema è che l'HTML è una grande famiglia di formati e solo le varianti più recenti sono coerenti (e basate su XML). Se hai intenzione di utilizzare PHP, ti consiglio di utilizzare il parser DOM in quanto può gestire un sacco di HTML che non si qualifica come XML ben formato.

Leggendo tra le righe del tuo post - ti sembra di essere:

1) l'acquisizione di contenuti dal web con un requisito per la complessa gestione delle interazioni

2) analisi dei dati in un formato leggibile macchina coerente

3) la scrittura dei dati in un foglio di calcolo

che è certamente 3 problemi separati - se non una lingua soddisfa tutti i 3 requisiti, allora perché non utilizzare lo strumento migliore per il lavoro e solo preoccuparsi abo un formato/mezzo intermedio adatto per i dati?

C.

Problemi correlati