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()