Ir al contenido principal

Configuración

A-Parser contiene los siguientes grupos de ajustes:

  • Global Settings - ajustes principales del programa: idioma, contraseña, parámetros de actualización, número de tareas activas
  • Threads settings - ajustes de hilos y métodos de uniqueización para las tareas
  • Parser settings - posibilidad de configurar cada extractor individualmente
  • Configuración de comprobación de proxy - número de hilos y todos los ajustes para el comprobador de proxy
  • Additional settings - ajustes opcionales para usuarios avanzados
  • Ajustes preestablecidos de tareas - guardado de tareas para su uso posterior

Todos los ajustes (excepto los generales y adicionales) se guardan en los llamados ajustes preestablecidos - conjuntos de configuraciones guardadas previamente, por ejemplo:

  • Diferentes ajustes preestablecidos de configuración para el extractor SE::GoogleSE::Google: uno para la extracción de datos de enlaces con una profundidad máxima de 10 páginas de 100 resultados, otro para evaluar la competencia por consulta, con una profundidad de extracción de datos de 1 página de 10 resultados
  • Diferentes ajustes preestablecidos de configuración del comprobador de proxy - independientes para proxies HTTP y SOCKS

Para todos los ajustes existe un ajuste preestablecido por defecto (default), no se puede cambiar; todos los cambios deben guardarse en ajustes preestablecidos con nombres nuevos.

Configuración general

Configuración -> Configuración general
Nombre del parámetroValor por defectoDescripción
PasswordSin contraseñaEstablecer contraseña para entrar en A-Parser
LanguageEnglishIdioma de la interfaz
News and tipsEnglishIdioma de noticias y sugerencias
Enable tipsDetermina si se muestran las sugerencias
Check for updatesDetermina si se muestra información sobre la disponibilidad de una nueva actualización en la Barra de estado
Save window sizeDetermina si se guarda el tamaño de la ventana
Update channelStableSelección del canal de actualizaciones (Estable, Beta, Alfa)
Tasks per page5Número de tareas por página en la Cola de tareas
Max active tasks1Número máximo de tareas activas
Total thread limit10000Límite total de hilos en A-Parser. La tarea no se iniciará si el límite total de hilos es menor que el número de hilos en la tarea
Dynamic thread limitDetermina si se utiliza el Límite dinámico de hilos
CPU cores (task processing)2Soporte para el procesamiento de tareas en diferentes núcleos del procesador (solo para la licencia Enterprise). Se describe más detalladamente a continuación
CPU cores (result processing)4Se utilizan varios núcleos solo en el filtrado, Constructor de resultados, Parse custom result (todos los tipos de licencia)
Memory SaverBest speedPermite determinar cuánta memoria puede usar el extractor (Best speed / Medium memory usage / Save max memory). Más información...

Núcleos de CPU (procesamiento de tareas)

Soporte para el procesamiento de tareas en diferentes núcleos del procesador; esta posibilidad está disponible solo para la licencia Enterprise

Esta opción acelera (múltiples veces) el procesamiento de varias tareas en la cola (Settings -> Max active tasks), pero no acelera la ejecución de una sola tarea

También se ha implementado una distribución inteligente de tareas entre los núcleos de trabajo basada en la carga de CPU de cada proceso El número de núcleos de procesador utilizados se define en la configuración, por defecto es 2, máximo 32

Al igual que con los hilos, es mejor elegir el número de núcleos de forma experimental; valores razonables serían 2-3 núcleos para procesadores de 4 núcleos, 4-6 para procesadores de ocho núcleos, etc. Cabe considerar que con un gran número de núcleos y una carga elevada, puede producirse una carga del 100% en el proceso de control principal (aparser/aparser.exe), lo que haría que un aumento adicional de procesos para el procesamiento de tareas solo causara una ralentización general o un funcionamiento inestable. También hay que tener en cuenta que cada proceso de procesamiento de tareas puede crear una carga adicional de hasta el 300% (es decir, cargar simultáneamente 3 núcleos al 100% cada uno); esta característica está relacionada con el procesamiento multihilo de la recolección de basura en el motor JavaScript v8

Configuración de hilos

El funcionamiento de A-Parser se basa en el principio de procesamiento de datos multihilo. El extractor ejecuta tareas en paralelo en hilos separados, cuyo número se puede variar de forma flexible según la configuración del servidor.

Descripción del funcionamiento de los hilos

Veamos qué son los hilos en la práctica. Supongamos que necesita elaborar un informe de tres meses.

Opción 1
Puede elaborar el informe primero para el 1er mes, luego para el 2do y después para el 3ro. Este es un ejemplo de trabajo de un solo hilo. Las tareas se resuelven una por una.

Opción 2
Contratar a tres contadores que elaboren los informes, cada uno por un mes. Y luego, al recibir los resultados de los tres, hacer ya un informe general. Este es un ejemplo de trabajo multihilo. Las tareas se resuelven simultáneamente.

Como se ve en estos ejemplos, el trabajo multihilo permite realizar la tarea más rápido, pero al mismo tiempo requiere más recursos (necesitamos 3 contadores en lugar de 1). De manera similar funciona el multihilo en A-Parser. Supongamos que necesita extraer información de varios enlaces:

  • con un solo hilo, la aplicación extraerá cada sitio uno por uno
  • al trabajar en varios hilos, cada uno procesará su propio enlace y, al terminar, pasará al siguiente no procesado en la lista

De esta manera, en la segunda opción, toda la tarea se completará significativamente más rápido, pero requiere más recursos del servidor, por lo que se recomienda cumplir con los Requisitos del sistema

Configuración de hilos

La configuración de hilos en A-Parser se realiza por separado para cada tarea, dependiendo de los parámetros requeridos para su ejecución. Por defecto, hay 2 configuraciones de hilos disponibles: para 20 y 100 hilos, para default y 100 Threads respectivamente.

Para acceder a la configuración del perfil seleccionado, debe hacer clic en el icono del lápiz botón editar configuración de hilos, tras lo cual se abrirá su configuración. Botón editar Configuración de hilos en el Editor de tareas

También puede ir a la configuración de hilos a través del menú: Settings -> Threads settings

Aquí podemos:

  • crear una nueva configuración con sus propios ajustes y guardarla con su propio nombre (botón Añadir nuevo)
  • realizar cambios en una configuración existente seleccionándola de la lista desplegable (botón Guardar)
Ajustes de Configuración de hilos

Número de hilos (Threads count)

Este parámetro establece la cantidad de hilos en los que funcionará la tarea ejecutada con esta configuración. El número de hilos puede ser cualquiera, pero debe tener en cuenta las capacidades de su servidor, así como la limitación del plan de proxy, si existe tal limitación. Por ejemplo, para nuestros proxies puede indicar no más del plan seleccionado.

nota

También es importante recordar que el número total de hilos en el extractor es igual a la suma de las tareas en ejecución y los comprobadores de proxy activados con verificación de proxy. Por ejemplo, si se ejecuta una tarea de 20 hilos y dos tareas de 100 hilos cada una, y también funciona un comprobador de proxy en el que está activada la verificación de proxy en 15 hilos, entonces en total el extractor utilizará 20+100+100+15=235 hilos. En este caso, si el plan de proxy está diseñado para 200 hilos, habrá muchas solicitudes fallidas. Para evitarlas, debe reducir el número de hilos utilizados. Por ejemplo, desactivar la verificación de proxy (si no es necesaria, esto ahorrará 15 hilos) y reducir el número de hilos en alguna de las tareas en otros 20 hilos. De esta manera, para una de las tareas en ejecución debe crear una configuración de 80 hilos, dejando las demás como están

Comprobadores de proxy (Proxy Checkers)

Este parámetro permite elegir un comprobador de proxy con ciertos ajustes. Aquí puede seleccionar el parámetro All, que significa el uso de todos los comprobadores de proxy en funcionamiento, o solo aquellos que deben usarse en la tarea (se permite la selección de varias posiciones)

nota

Esta configuración permite ejecutar la tarea solo con los comprobadores de proxy necesarios. El proceso de configuración del comprobador de proxy se describe aquí

Máximo de hilos por un proxy (Max threads per proxy)

Aquí se establece el número máximo de hilos en los que se utilizará simultáneamente el mismo proxy. Permite establecer diferentes parámetros, por ejemplo, el funcionamiento de 1 hilo = 1 proxy.

nota

Por defecto, este parámetro es igual a 0, lo que desactiva esta función. En la mayoría de los casos esto es suficiente. Pero si se requiere limitar la carga en cada proxy, entonces tiene sentido cambiar el valor

Bloqueo global de proxy (Global proxy ban)

Todas las tareas ejecutadas con esta opción tienen una base de datos común de bloqueos de proxy. La particularidad de este parámetro es que la lista de proxies bloqueados para cada extractor es común para todas las tareas en ejecución.

Por ejemplo, un proxy bloqueado en SE::GoogleSE::Google en la tarea 1 también estará bloqueado para SE::GoogleSE::Google en la tarea 2, pero al mismo tiempo puede funcionar libremente en SE::YandexSE::Yandex en ambas tareas

Máximo de conexiones por host (Max connections per host)

Este parámetro indica el número máximo de conexiones por host, destinado a reducir la carga en el sitio al extraer información de él. Básicamente, especificar este parámetro permite controlar el número de solicitudes en un momento dado para cada dominio específico. La activación de este parámetro se aplica a la tarea; si se ejecutan varias tareas simultáneamente con la misma configuración de hilos, el límite se contará para todas las tareas.

Por defecto, este parámetro tiene el valor 0, es decir, está desactivado.

Reutilización de proxy entre intentos (Reuse proxy between retries)

Esta configuración desactiva la verificación de unicidad del proxy para cada intento, y tampoco funcionará el bloqueo de proxy. Esto a su vez significa la posibilidad de usar 1 proxy para todos los intentos.

Se recomienda activar este parámetro, por ejemplo, en los casos en que se planea usar 1 proxy, donde en cada conexión cambia la IP de salida.

Estrategia de proxy (Proxy strategy)

Permite gestionar la estrategia de selección de proxy al usar sesiones: mantener el proxy de una solicitud exitosa para la siguiente solicitud o usar siempre un proxy aleatorio.

Recomendaciones

En este artículo se han revisado todas las configuraciones que permiten gestionar los hilos. Cabe destacar que al configurar el perfil de hilos no es obligatorio establecer todos los parámetros indicados en el artículo, basta con establecer solo aquellos que aseguren la obtención de un resultado correcto. Normalmente solo es necesario cambiar Threads count, el resto de las configuraciones se pueden dejar por defecto.

Configuración de extractores

Cada extractor tiene múltiples configuraciones y permite guardar diferentes conjuntos de ajustes en ajustes preestablecidos. El sistema de ajustes preestablecidos permite usar el mismo extractor con diferentes configuraciones según la situación, veamos el ejemplo del extractor SE::GoogleSE::Google:

  • Número de páginas (Pages count): 10
  • Enlaces por página (Links per page): 100

De esta manera, el extractor recopilará el número máximo de enlaces, recorriendo todas las páginas de los resultados de búsqueda

Ajuste preestablecido 2: "Extracción de competencia por consulta"

  • Número de páginas (Pages count): 1
  • Enlaces por página (Links per page): 10
  • Formato de resultado (Results format): $query: $totalcount\n

En este caso obtenemos el número de resultados de la búsqueda por consulta (competencia de la consulta) y para mayor velocidad nos basta con extraer solo la primera página con el número mínimo de enlaces

Creación de ajustes preestablecidos

Creación de ajuste preestablecido

La creación de un ajuste preestablecido comienza con la selección del extractor/extractores y la definición del resultado que se desea obtener.

A continuación, debe comprender cuáles serán los datos de entrada para el extractor seleccionado; en la captura de pantalla anterior se seleccionó el extractor SE::GoogleSE::Google, cuyos datos de entrada son cualquier cadena como si estuviera buscando algo en el navegador. Puede elegir un archivo de consultas o introducir las consultas en el campo de texto.

Ahora debe redefinir la configuración (seleccionar opciones) para el extractor, añadir deduplicación. Puede usar el constructor de consultas si necesita procesar las consultas. O usar el constructor de resultados si necesita procesar los resultados de alguna manera.

Luego debe prestar atención a la edición del nombre del archivo de resultados y, si es necesario, cambiarlo a su discreción.

El último punto es la selección de opciones adicionales, en particular la opción Enable log (Mantener registro). Muy útil si desea conocer la causa de un error de extracción de datos.

Después de todo esto, debe guardar el ajuste preestablecido y añadirlo a la cola de tareas.

Redefinición de configuraciones

Override preset - redefinición rápida de configuraciones para el extractor, esta opción se puede añadir directamente en el Editor de tareas. Con un solo clic se pueden añadir varios parámetros. En la lista de configuraciones se indican los valores por defecto, y si la opción está resaltada en negrita significa que ya ha sido redefinida en el ajuste preestablecido

Redefinición de ajustes para el extractor

En este ejemplo se han redefinido dos opciones: Pages count (Número de páginas) se estableció en 5 y Links per page (Enlaces por página) se estableció en el valor 100.

En la tarea se puede usar un número ilimitado de opciones Override preset, pero si hay muchos cambios, es más conveniente crear un nuevo ajuste preestablecido y guardar todos los cambios en él.

También puede guardar las redefiniciones fácilmente con la función Save overrides to preset (Guardar redefiniciones). Se guardarán como un ajuste preestablecido independiente para el extractor seleccionado.

Guardado de opciones redefinidas

Después de lo cual, en el futuro, bastará con seleccionar este ajuste preestablecido guardado de la lista y usarlo.

Selección de ajuste preestablecido guardado para un extractor específico

Configuraciones comunes para todos los extractores

Cada extractor tiene su propio conjunto de configuraciones, puede encontrar información sobre las configuraciones de cada extractor en la sección correspondiente

En esta tabla presentamos las configuraciones comunes para todos los extractores

Nombre del parámetroValor por defectoDescripción
Request retries10Número de intentos por cada solicitud; si la solicitud no se puede completar en el número de intentos indicado, se considera fallida y se omite
Use proxyDetermina si se utilizan proxies
Query format$queryFormato de la consulta
Result formatCada extractor tiene su propio valorFormato de salida del resultado
Proxy ban timeCada extractor tiene su propio valorTiempo de bloqueo del proxy en segundos
Request timeout60Tiempo máximo de espera de la solicitud en segundos
Request delay0Retraso entre solicitudes en segundos; se puede establecer un valor aleatorio en un intervalo, por ejemplo 10,30 - retraso de 10 a 30 segundos
Proxy CheckerAllQué proxies de qué comprobadores deben usarse (elección entre todos o enumeración de específicos)

Comunes para todos los extractores que funcionan por protocolo HTTP

Nombre del parámetroValor por defectoDescripción
Max body sizeCada extractor tiene su propio valorTamaño máximo de la página de resultados en bytes
Use gzipDetermina si se utiliza la compresión del tráfico transmitido
Extra query stringPermite indicar parámetros adicionales en la cadena de consulta
nota

Las configuraciones por defecto para cada extractor pueden variar. Se almacenan en el ajuste preestablecido default en la configuración de cada extractor.

Configuración de comprobadores de proxy

Más información sobre la Configuración de comprobadores de proxy

Configuraciones adicionales

Configuración adicional
  • El salto de línea permite elegir entre la opción de Unix y Windows para el final de las líneas al guardar los resultados en un archivo
  • Formato de números: establece cómo mostrar los números en la interfaz de A-Parser
  • Macros de plantillas