[pyar] Scrapear sitios con distinta estructura HTML

Juan Carizza juan.carizza en gmail.com
Mie Jul 3 09:27:12 -03 2019


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


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