[pyar] Scrapear sitios con distinta estructura HTML
Augusto
adtononi en gmail.com
Mie Jul 3 10:45:27 -03 2019
Es buena esa, hacer una subclase para cada sitio.
Quedaría un enchastre porque los sitios que tengo que scrappear pueden
superar los 100, pero es buena idea.
Gracias!
El mié., 3 jul. 2019 10:16, Juan Manuel <jmdedio en gmail.com> escribió:
> Requests y xpath es una buena alternativa. Podés hacer subclases para
> cada sitio con sus respectivos métodos y luego una clase manejadora que
> instancie a cada una. De esa manera todo estará en un sólo fichero y si
> tenés que agregar o quitar sitios sólo debés crear o comentar subclases y
> configurar el manejador.
>
> El mié., 3 jul. 2019 a las 9:59, Augusto (<adtononi en gmail.com>) escribió:
>
>> Muchas gracias por las respuestas!
>>
>> Manuel: si, tuve incluso el inconveniente ese de encontrar incongruencias
>> dentro de un mismo sitio. Lo cual es bastante molesto.
>>
>> Juan Manuel: estoy usando requests y xpath, me resultó más fácil a la
>> hora de filtrar que con Beautifulsoup (aunque a este no lo use en
>> profundidad)
>>
>> Juan Carriza: le voy a dar una leída a los links y después te comento si
>> pude avanzar en algo, gracias!
>>
>>
>>
>> El mié., 3 jul. 2019 9:27, Juan Carizza <juan.carizza en gmail.com>
>> escribió:
>>
>>> Hola Augusto,
>>>
>>> Lo más rápido es crear una clase `Base` donde definas los métodos más
>>> comunes que necesitas por ejemplo:
>>> http://linkode.org/#FdLRIKW93VCQfAnLH84to1 y luego creas una sub-clase
>>> con los atributos que necesites.
>>>
>>> Si vas por el lado de hacer algo generico deberias intentar hacer un
>>> analisis de la estructura HTML (mas que el texto) para extraer la noticia.
>>> Un ejemplo de esto es el codigo que usa el "Modo Lectura" de firefox
>>> https://github.com/mozilla/readability
>>>
>>> El mié., 3 de jul. de 2019 a la(s) 09:02, Juan Manuel (jmdedio en gmail.com)
>>> escribió:
>>>
>>>> ¿Qué estás usando para scrapear?
>>>>
>>>>
>>>> El mié., 3 jul. 2019 a las 8:37, Gustavo Campanelli (<gedece en gmail.com>)
>>>> escribió:
>>>>
>>>>>
>>>>> On Wed, Jul 3, 2019 at 2:45 AM Manuel <naranjo.manuel en gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Podrías emular el bot de Google con el user agent, pero así y todo
>>>>>> casa sitio es distinto y vos querés acceder a contenido muy específico.
>>>>>>
>>>>>> Capaz que podes encontrar que varios sitios caen en el mismo patrón,
>>>>>> por ejemplo vas a tener un grupo que use h1, h2 y div, pero vas a tener
>>>>>> otros usando bootstrap.
>>>>>>
>>>>>> Incluso dentro del mismo sitio podes encontrar que hay incongruencias
>>>>>> si es uno grande con muchos equipos de desarrollo.
>>>>>>
>>>>>> Si tenés suerte alguno usa AJAX para cargar los datos y te hace las
>>>>>> cosas más sencillas, pero no hay un standard, por algo Google y los sitios
>>>>>> de búsqueda tienen varios equipos dedicados a sus bots de scrapeo
>>>>>>
>>>>>> El mié., 3 de julio de 2019 05:29, Augusto <adtononi en gmail.com>
>>>>>> escribió:
>>>>>>
>>>>>>> Buenas Victor,
>>>>>>>
>>>>>>> Si, habia pensado en aplicar NLP, usar expresiones regulares, etc.
>>>>>>> Todo con el fin de filtrar y matchear lo que estoy buscando. Pero mas alla
>>>>>>> de que es dificil, no hay una manera eficiente de controlar los resultados,
>>>>>>> como indican en los comentarios.
>>>>>>>
>>>>>>> Gracias!
>>>>>>>
>>>>>>> El mar., 2 jul. 2019 a las 23:47, Victor Andres Martinez Hernandez (<
>>>>>>> victorliferock en gmail.com>) escribió:
>>>>>>>
>>>>>>>> Hola Augusto,
>>>>>>>>
>>>>>>>> Yo siempre tengo este tipo de problemas y la verdad hasta ahora lo
>>>>>>>> que siempre hago es crear un scraper por cada sitio, nunca había buscado la
>>>>>>>> manera de hacerlo masivo. Veo otra posibilidad pero nunca la he hecho, te
>>>>>>>> dejo link:
>>>>>>>>
>>>>>>>>
>>>>>>>> https://stackoverflow.com/questions/43712602/web-crawling-for-multiple-websites-with-different-structures
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Saludos!
>>>>>>>>
>>>>>>>> El mar., 2 de jul. de 2019 a la(s) 21:24, Augusto (
>>>>>>>> adtononi en gmail.com) escribió:
>>>>>>>>
>>>>>>>>> Buenas grupo, basicamente lo que dice el asunto.
>>>>>>>>>
>>>>>>>>> Estoy scrapeando sitios de noticias y de cada noticia obtengo
>>>>>>>>> titulo, fecha y contenido. Todo esto lo capto con XPATH.
>>>>>>>>> El problema es que cada sitio tiene estructuras diferentes por lo
>>>>>>>>> cual tengo que retocar el script para cada sitio, y la idea es tener un
>>>>>>>>> solo script que scrapee cualquier sitio que reciba.
>>>>>>>>> La forma mas bruta es poner todas los posibles XPATH, para que
>>>>>>>>> verifique cual usa el sitio. Pero queria saber si hay alguna forma mejor.
>>>>>>>>>
>>>>>>>>> Saludos!
>>>>>>>>> _______________________________________________
>>>>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>>>>
>>>>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>>>>
>>>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>>>>>>>>> Libre de Argentina - http://www.usla.org.ar
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> *Victor Andres Martinez Hernandez*
>>>>>>>> *Administrador de redes*
>>>>>>>> _______________________________________________
>>>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>>>
>>>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>>>
>>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>>
>>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>>
>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>
>>>>>> _______________________________________________
>>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>>> Sitio web: http://www.python.org.ar/
>>>>>>
>>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>
>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>> de Argentina - http://www.usla.org.ar
>>>>>
>>>>>
>>>>> Una opción interesante es buscar si los sitios de noticias tienen
>>>>> algun tipo de feed simplificado, como puede ser el RSS. Si lo poseen, es
>>>>> mucho más sencilllo tomar datos de ahí que de la pagina.
>>>>>
>>>>> Gedece
>>>>> _______________________________________________
>>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>>> Sitio web: http://www.python.org.ar/
>>>>>
>>>>> Para administrar la lista (o desuscribirse) entrar a
>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>
>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>>> Argentina - http://www.usla.org.ar
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> _______________________________________________
>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>> Sitio web: http://www.python.org.ar/
>>>>
>>>> Para administrar la lista (o desuscribirse) entrar a
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>
>>> _______________________________________________
>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>> Sitio web: http://www.python.org.ar/
>>>
>>> Para administrar la lista (o desuscribirse) entrar a
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>
>
>
> --
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190703/aa06516f/attachment-0001.html>
Más información sobre la lista de distribución pyar