Manejo de errores en Web Scraping

Anticipar el faltante de contenido string en una extracción: 

for noticia in noticias:
item = ItemLoader(Noticia(), response.body)
titular = noticia.find('a').text
descripcion = noticia.find('p').text
item.add_value('titular', titular)
item.add_value('descripcion', descripcion)
yield item.load_item()

cuando se extraen datos, esperando siempre que haya texto en su contenido puede ocurrir el error de

 AttributeError: 'NoneType' object has no attribute 'text'

significa que espera extraer algo pero es de tipo NONE ahí esta el conflicto, se resuelve introduciendo un if que anticipe esta situación.

for noticia in noticias:
item = ItemLoader(Noticia(), response.body)

titular = noticia.find('a')
descripcion = noticia.find('p').text

if (titular != None):
titular = titular.text
else:
titular = 'N/A'

item.add_value('titular', titular)
item.add_value('descripcion', descripcion)
yield item.load_item()

01100110 01101001 01101110 00100000 01100100 01100101 00100000 01100011 01101111 01100100 01101001 01100111 01101111

RETURN













No hay comentarios.:

Publicar un comentario

INDICE