Scrapear: Plugin Automático vs Python - Diferencias y Limitaciones

  • Autor Autor richardx
  • Fecha de inicio Fecha de inicio

richardx

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, que tal! Por el momento nunca he scrapeado una web pero me interesa mucho el mundito del Web Scraping y tengo una duda algo básica por falta de experiencia. Que no se puede hacer con un plugin de Scraping cómo Automatic, que si se pueda hacer con código? Código me refiero a Python y JS que tengo entendido son los más usados para scrapear..
 
Supp me suscribo para saber
 
Diferencias hay bastantes. Es mas o menos parecido a la controversia WP vs frameworks de desarrollo. Todo depende que tan cañero sea el proyecto. Pero creo que la mas importante es que Python te permite pelear mejor contra las trampas antiscraper de los sysadmin. Los bots, programas y pluguins pueden estar preparados para algunas, pero no para todas.
 
Principalmente con Python emulas la interacción, los clicks etc como si lo hicieras manualmente. en cambio con un script php(o Plugin) solo procesas lo que muestra el DOM y extraes la data que necesitas.

Entre las cosas que puedes hacer con Python: instalar extensiones a un Chrome driver... Y más.
 
Aún no uso Python, pero si sé lo que se puede hacer.
Acerca de scrapping.
Si usas algún pluggin, lo que hará es ver código fuente de la página(ctrl + u), y de allí saca el contenido.
Si la web posee alguna seguridad, como por ejemplo, hacer clic a un botón para ver el contenido, pasar cloudflare, o la data es enviada por XHR. No te va a servir de nada el pluggin.

En cambio, si usas Python, para pasar esos filtros, lo puedes hacer usando un navegador. De ésta manera es más fácil controlar los eventos. Dar click, esperar que pase el filtro de seguridad(cloudflare), capturar todo el tráfico de red(así lo hago con cefsharp), y entre otra seguridad que pueda poner la web.


Conclusión: Sitios que te pidan realizar algún evento para ver el contenido = Usa Python, o algún lenguaje de programación que te permita usar un navegador embebido.
 
Como te han dicho los usuarios @moon-ra , @nolbertoss y @edw9879 algunas webs tiene, por decirlo de alguna manera, salvaguardas que impiden scrapear el contenido a los plugins normales de WP.

En cambio con Phyton no hay salvaguardas que se resista.

Es decir, te permite scrapear todo, lo que se dice todo, lo que se te ponga por delante.
 
Ok gracias amigo. Y que herramientas de Python recomiendas para scrapear? Se que hay muchas y tengo interés en aprender web scraping, pero no se por donde comenzar.
 
Ok gracias amigo. Y que herramientas de Python recomiendas para scrapear? Se que hay muchas y tengo interés en aprender web scraping, pero no se por donde comenzar.
Las herramientas basicas son beautiful soap para parsear la data cruda y scrapy para programar la araña. En algunos casos tambien hace falta selenium combinado con phantom.js para crear un navegador fantasma. Son herramientas que lleva su tiempo aprenderlas, asi que ha investigar y mucha paciencia.
 
Ok gracias amigo. Y que herramientas de Python recomiendas para scrapear? Se que hay muchas y tengo interés en aprender web scraping, pero no se por donde comenzar.

Aquí tienes de forma clara lo que necesitas. Se puede decir más alto, pero más claro es imposible.
 
@moon-ra @EspErpENto Genial, gracias a ambos por las respuestas. Me queda una duda. Que nivel de conocimiento es aconsejable tener en Python para comenzar a aprender Selenium, Scrapy, etc..?
 
@moon-ra @EspErpENto Genial, gracias a ambos por las respuestas. Me queda una duda. Que nivel de conocimiento es aconsejable tener en Python para comenzar a aprender Selenium, Scrapy, etc..?
Si ya sabes algo de Python mirate unos tutoriales de scrapping.
 
@moon-ra @EspErpENto Genial, gracias a ambos por las respuestas. Me queda una duda. Que nivel de conocimiento es aconsejable tener en Python para comenzar a aprender Selenium, Scrapy, etc..?
Lo primero que debería saber es el nivel que tienes en Phyton.

Eso si, debes tener en cuenta un factor clave, las herramientas para Scrapear no son algo así como instalar y activar un plugins, es decir, mientras mas conozco de Phyton, más sencillo va a ser domesticar Selenium y el resto de hierbas.
 
@moon-ra @EspErpENto Genial, gracias a ambos por las respuestas. Me queda una duda. Que nivel de conocimiento es aconsejable tener en Python para comenzar a aprender Selenium, Scrapy, etc..?
Minimo nivel intermedio. No hace falta saber poo ni funcional. Pero si conocer perfectamente las bases del lenguaje. Manejarse bien con manipulacion de strings, colecciones, comprension de listas, generadores, decoradores, io, networking y algo de criptografia.
 
con python puedes hacer la simulacion mas precisa de que es un humano que haces las interacciones en la web, con PHP tambien podria hacerse pero seria mucho mas complejo, ya que python trae infinidad de librerias para poder hacerlo, por ende Python es mucho mas versatil a la hora de Hacer Scrapp web aunque todo va depender del proyecto que requiera el cliente mayormente hacerlo con python requiere tener un vps para su ejecucion o en la propia maquina del cliente en cambio en PHP podrias correrlo en cron directamente en hosting.

tiene pro y contra pero todo va depender de lo que requiere cada cliente yo que me dedico a ello mayormente siemper prefiero en Python pero si toca hacerlo en php por comodida tambien es posible pero tiene cierta limitaciones.
 
@moon-ra @EspErpENto @fededav

Ok entiendo. Y entre Beautiful Soap, Selenium y Scrapy, es recomendable que los aprenda en algún orden o da igual?
Algún curso que recomienden?? Se los agradezco!
 
@moon-ra @EspErpENto @fededav

Ok entiendo. Y entre Beautiful Soap, Selenium y Scrapy, es recomendable que los aprenda en algún orden o da igual?
Algún curso que recomienden?? Se los agradezco!
en udemy hay un curso de extraccion datos de la web que te explican esas 3 libreria te lo recomiendo el curso te puede costar 13$ o hasta 10$
 
Alguien sabe de alguien (valga la redundancia) que me pueda apoyar con tutorials completos de scrapping? Ojo no es para ofrecer servicios aquí, lo ocupo para uso personal dentro de mi trabajo
 

Temas similares