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













INDICE

  •  Anaconda
    • Error:  Failed to create Anaconda menus, Abort Retry Ignore (entrar)
  •  Android Studio
    • Implementando carácteres especiales en android studio (entrar)
    • Sobre las medidas trabajadas en programación (entrar)
    • Sobre android studio y como definir una interfaz (entrar)
  • Kotlin
    • Sobre Kotlin y sus variables (entrar)
  • PyCharm
    • Quitar la linea roja de corrección ortográfica en PyCharm (entrar)
    • nothing to show (entrar)
  • Web-Scraping
    • sobre Web Scraping (entrar)
    • Manejo de errores en Web Scraping (entrar)
    • LISTA DE USER AGENTS (entrar)
    • TypeError: 'Rule' object is not iterable (entrar)
  • Java
    • Programa simple java con comentarios (entrar)
    • Ejercitación Java Ejercicio 2 (entrar)
    • Ejercitación Java Ejercicio 3 (entrar)
  • BufferedReader (leer archivos .txt)
    • Programa simple 2, leer archivo .txt, uso de BufferedReader (entrar)
  • Linux
    • Ubuntu comandos utiles (entrar)
    • instalar paquetes por formato - linux (entrar)
  • Análisis de sistemas
    • Concepto de análisis de diseño de sistemas (entrar)
  • Atajos de teclado
  • Python  
    • La Biblioteca Estándar de Python (entrar)
  • PyQt5
    • PyQt5 - datos sobre ingreso de datos (entrar)
  • Git & Github
  • Qt Designer
    • programa simple - uso de SQLite (entrar)
    • QT Designer - aplicacion comentada PyQt5 (entrar)
    • usos de QDialog - ejemplo útil  (entrar)
  • Base de datos
    • Práctica de Base de Datos 1 (entrar)
  • SQLite3
    • Clave foránea en SQLite3 (entrar)
    • SQLite3 .help (entrar)
    • sql error sql logic error or missing database (entrar)
    • EXISTS (entrar)
  • Manejo de errores 
    • XAMPP - mysql_error.txt (entrar)
  • Webs de interés
  • .NET
    • Diferencias MVC y WebForms (entrar)
    • microsoft .net framework excepcion no controlada en la aplicacion (entrar)
  • Metodologias de desarrollo
    • TDD o Test-Driven Development (desarrollo dirigido por tests) (entrar)

  • SQL Server Management Studio 




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

RETURN




Quitar la linea roja de corrección ortográfica en PyCharm

 haces Ctl+Alt+S abris setting

ahi agregas español
luego haces clic en esa casilla y listo, no mas coso rojo molesto. FIN



RETURN



INDICE