php python ruby web-scraping

php - ¿Hay algún lenguaje que sea simplemente "perfecto" para raspar web?



python ruby (4)

He usado 3 idiomas para Web Scraping: Ruby, PHP y Python y, sinceramente, ninguno parece perfecto para la tarea.

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 de Mechanize muy pobre. Tuve muchos problemas y todavía no puedo resolverlos. Su biblioteca de hoja 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.


¿Por qué no usar el formato de hoja de cálculo XML ? Es súper simple de crear, y probablemente sería trivial con cualquier tipo de sistema basado en clases.

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



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 tu publicación, pareces ser:

1) captura de contenido de la web con un requisito para la gestión de interacción compleja

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

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

Que es sin duda 3 problemas separados: si ningún idioma cumple con los 3 requisitos, ¿por qué no utilizar la mejor herramienta para el trabajo y solo preocuparse por un formato / medio provisional adecuado para los datos?

DO.


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