2010-08-12 11 views
7

He usado 3 idiomas para Web Scraping - Ruby, PHP y Python y, sinceramente, ninguno de ellos parece perfecto para la tarea.¿Hay algún lenguaje que sea simplemente "perfecto" para raspar web?

Ruby tiene una excelente biblioteca de análisis de mecanizado y XML, pero el soporte de la hoja de cálculo es muy pobre.

PHP tiene una excelente hoja de cálculo y una biblioteca de análisis HTML, pero no tiene un equivalente de WWW: Mechanize.

Python tiene una biblioteca Mechanize muy pobre. Tuve muchos problemas y todavía no puedo resolverlos. Su biblioteca de hojas de cálculo también es más o menos decente ya que no puede crear archivos XLSX.

¿Hay algo que sea perfecto para webscraping.

PD: Estoy trabajando en la plataforma de Windows.

+3

soporte de formatos de Excel es una especie de tela ortogonal a raspar ... –

+2

creo 'perfecto' es bastante subjetiva, sin embargo, has .NET? Creo que su biblioteca de análisis XML es bastante sólida y se puede vincular fácilmente a MSOffice para el soporte de hojas de cálculo. – Tommy

+0

@Tommy: ¿Tiene un equivalente de Mecanizar? Lo había usado con WebBrowserControl pero lo encontré ineficiente. – Shubham

Respuesta

1

Por qué no utilizar el formato XML Spreadsheet? Es súper simple de crear, y probablemente sería trivial con cualquier tipo de sistema basado en clases.

Además, para Python, ¿ha intentado BeautifulSoup para analizar? Urllib + BeautifulSoup es un combo bastante poderoso.

0

Python + Beautiful Soup para raspar web y como está en Windows, puede usar win32com para la automatización de Excel para generar sus archivos xlsx.

1

La respuesta corta es no.

El problema es que HTML es una gran familia de formatos, y solo las variantes más recientes son consistentes (y basadas en XML). Si va a utilizar PHP, le recomendaría usar el analizador DOM ya que puede manejar una gran cantidad de html que no califica como XML bien formado.

Leyendo entre las líneas de su mensaje - que parecen ser:

1) la captura del contenido de la web con el requisito de gestión compleja interacción

2) analizar los datos en un formato legible por máquina consistente

3) escribir los datos en una hoja de cálculo

que es ciertamente 3 problemas separados - si no hay un idioma cumple con los 3 requisitos, entonces por qué no utilizar la mejor herramienta para el trabajo y solo se preocupan abo ¿Es un formato/medio provisional adecuado para los datos?

C.

Cuestiones relacionadas