[pyar] Scrapear sitios con distinta estructura HTML

Augusto adtononi en gmail.com
Mie Jul 3 09:58:55 -03 2019


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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190703/aeccf671/attachment-0001.html>


Más información sobre la lista de distribución pyar