Articles of picante

Scrapy: Definir elementos dinámicamente

Cuando comencé a aprender sobre chatarra, me he encontrado con un requisito para construir dinámicamente los atributos del elemento. Solo estoy raspando una página web que tiene una estructura de tabla y quería formar los atributos del elemento y del campo mientras rastreaba. He analizado este ejemplo. Datos de raspado sin tener que definir explícitamente […]

¿Cómo procesar todo tipo de excepción en un proyecto desechable, en errback y callback?

Actualmente estoy trabajando en un proyecto de raspadores que es muy importante para garantizar que TODAS las solicitudes se manejen correctamente, es decir, para registrar un error o para guardar un resultado exitoso. Ya implementé la araña básica, y ahora puedo procesar el 99% de las solicitudes con éxito, pero puedo obtener errores como captcha, […]

Ejecución de Scrapy desde un script – Se bloquea

Estoy tratando de ejecutar scrapy desde un script como se discute aquí . Se sugirió usar este fragmento, pero cuando lo hago cuelga indefinidamente. Esto fue escrito de nuevo en la versión .10; ¿Sigue siendo compatible con el establo actual?

Ejecutando tareas de Scrapy en Python

Mi secuencia de comandos de Scrapy parece funcionar bien cuando lo ejecuto en escenarios ‘únicos’ desde la línea de comandos, pero si bash ejecutar el código dos veces en la misma sesión de Python, aparece este error: “ReactorNotRestartable” ¿Por qué? El código ofensivo (última línea arroja el error): crawler = CrawlerProcess(settings) crawler.install() crawler.configure() # schedule […]

Scrapy: ImportError: No hay elementos con nombre de módulo

Cuando bash ejecutar scrapy me sale este error ImportError: no hay elementos con nombre de módulo Acabo de agregar en items.py la lista de cosas que quiero borrar y en spider.py he importado la clase desde spider.items import SpiderItem No sé por qué no lo está cargando … El diseño del paquete es … ./spider […]

Evitando la redirección

Estoy intentando analizar un sitio (escrito en ASP) y el rastreador se redirige al sitio principal. Pero lo que me gustaría hacer es analizar la URL dada, no la redirigida. ¿Hay alguna forma de hacer esto?. Intenté agregar “REDIRECT = False” al archivo settings.py sin éxito. Aquí hay algunos resultados del rastreador: 2011-09-24 20:01:11-0300 [coto] […]

Scrapy: salida CSV sin cabecera

Cuando uso el comando scrapy crawl -o , obtengo la salida de mi diccionario de Item con encabezados. Esto es bueno. Sin embargo, me gustaría que scrapy omita los encabezados si el archivo ya existe. ¿Puede scrapy hacer esto o necesito implementar esa funcionalidad?

Scrapy: ¿Cómo insertar manualmente una solicitud de una callback de evento spider_idle?

He creado una araña y he vinculado un método al evento spider_idle. ¿Cómo agrego una solicitud manualmente? No puedo devolver el elemento desde el análisis: en este caso, el análisis no se está ejecutando, ya que se analizaron todas las URL conocidas. Tengo un método para generar nuevas solicitudes, y me gustaría ejecutarlo desde la […]

Forzar a mi araña áspera para que deje de gatear

¿existe la posibilidad de dejar de rastrear cuando sea específico si la condición es verdadera (como scrap_item_id == predefine_value)? Mi problema es similar a Scrapy: cómo identificar las URL ya raspadas, pero quiero “forzar” a mi araña para que deje de rastrearse después de descubrir el último elemento raspado.

Error al instalar scrapy en python 3.5

Estoy instalando Scrapy en Python 3.5. Me refiero a la guía de instalación aquí . He instalado pip y conda . Intenté ambas maneras mencionadas en la guía, pero recibo este error: Ya he instalado pip y minoconda : conda install -c scrapinghub scrapy y pip install Scrapy ¿Qué hay de malo en la instalación?