Pular para o conteúdo principal

Configurações

O A-Parser contém os seguintes grupos de configurações:

  • Global Settings - configurações principais do programa: idioma, senha, parâmetros de atualização, número de tarefas ativas
  • Config Presets - configurações de threads e métodos de desduplicação para tarefas
  • Parser Presets - possibilidade de configurar cada scraper individualmente
  • Configurações de verificação de proxy - número de threads e todas as configurações para o proxychecker
  • Advanced Settings - configurações opcionais para usuários avançados
  • Task presets - salvamento de tarefas para uso posterior

Todas as configurações (exceto as gerais e adicionais) são salvas nos chamados presets - conjuntos de configurações pré-salvas, por exemplo:

  • Diferentes predefinições de configurações para o scraper SE::GoogleSE::Google - uma para extração de dados de links com profundidade máxima de 10 páginas, outra para avaliação de concorrência por consulta, profundidade de extração de dados de 1 página
  • Diferentes presets de configurações do proxychecker - separados para proxies HTTP e SOCKS

Para todas as configurações existe um preset padrão (default), ele não pode ser alterado; todas as alterações devem ser salvas em presets com novos nomes.

Configurações gerais

Configurações -> Configurações Gerais
Nome do parâmetroValor padrãoDescrição
PasswordSem senhaDefinir uma senha para entrar no A-Parser
LanguageEnglishIdioma da interface
News & TipsEnglishIdioma das notícias e dicas
Enable tipsDefine se as dicas devem ser exibidas
Check updatesDefine se deve exibir informações sobre a disponibilidade de uma nova atualização na Barra de status
Save window sizeDefine se deve salvar o tamanho da janela
Updates channelStableEscolha do canal de atualizações (Estável, Beta, Alfa)
Tasks per page5Número de tarefas por página na Fila de tarefas
Max active tasks1Número máximo de tarefas ativas
Total threads limit10000Limite global de threads no A-Parser. A tarefa não será iniciada se o limite global de threads for menor que o número de threads na tarefa
Dynamic thread limitDefine se deve usar o Limite dinâmico de threads
CPU cores (task processing)2Suporte para processamento de tarefas em diferentes núcleos do processador (apenas para licença Enterprise). Detalhado abaixo
CPU cores (result processing)4Vários núcleos são usados apenas na filtragem, Construtor de resultados, Parse custom result (todos os tipos de licença)
Memory SaverBest speedPermite definir quanta memória o scraper pode usar (Best speed / Medium memory usage / Save max memory). Saiba mais...

Núcleos de CPU (processamento de tarefas)

Suporte para processamento de tarefas em diferentes núcleos do processador, esta funcionalidade está disponível apenas para licença Enterprise

Esta opção acelera (multiplicadamente) o processamento de várias tarefas na fila (Settings -> Max active tasks), mas não acelera a execução de uma única tarefa

Também foi implementada a distribuição inteligente de tarefas pelos núcleos de trabalho com base na carga de CPU de cada processo O número de núcleos de processador utilizados é definido nas configurações, por padrão - 2, máximo - 32

Assim como no caso das threads, a escolha do número de núcleos deve ser feita de forma experimental; valores razoáveis seriam 2-3 núcleos para processadores de 4 núcleos, 4-6 para processadores de oito núcleos, etc. Vale considerar que, com um grande número de núcleos e alta carga, pode ocorrer 100% de uso do processo de controle principal (aparser/aparser.exe), onde o aumento adicional de processos para processamento de tarefas causará apenas lentidão geral ou instabilidade. Também deve-se considerar que cada processo de processamento de tarefas pode criar uma carga adicional de até 300% (ou seja, carregar 100% simultaneamente em 3 núcleos), esta característica está ligada ao processamento multithread de coleta de lixo no motor JavaScript v8

Configurações de threads

O funcionamento do A-Parser é baseado no princípio de processamento de dados em múltiplas threads. O scraper executa tarefas paralelamente em threads separadas, cujo número pode variar de forma flexível dependendo da configuração do servidor.

Descrição do funcionamento das threads

Vamos entender o que são threads na prática. Suponha que você precise elaborar um relatório de três meses.

Opção 1
Você pode elaborar o relatório primeiro para o 1º mês, depois para o 2º e depois para o 3º. Este é um exemplo de trabalho em thread única. As tarefas são resolvidas uma por uma.

Opção 2
Contratar três contadores que elaborarão os relatórios, cada um para um mês. E então, ao receber os resultados dos três, fazer o relatório geral. Este é um exemplo de processamento em múltiplas threads. As tarefas são resolvidas simultaneamente.

Como visto nestes exemplos, o processamento em múltiplas threads permite realizar a tarefa mais rapidamente, mas ao mesmo tempo exige mais recursos (precisamos de 3 contadores em vez de 1). A multithreading funciona de forma análoga no A-Parser. Suponha que você precise extrair dados de vários links:

  • com uma thread, o aplicativo fará a extração de cada site um por um
  • ao trabalhar em várias threads, cada uma processará seu link e, ao terminar, passará para o próximo não processado na lista

Desta forma, na segunda opção, toda a tarefa será concluída significativamente mais rápido, mas requer mais recursos do servidor, por isso recomenda-se observar os Requisitos do sistema

Configuração de threads

A configuração de threads no A-Parser é feita separadamente para cada tarefa, dependendo dos parâmetros necessários para sua execução. Por padrão, estão disponíveis 2 configurações de threads: para 20 e 100 threads, para default e 100 Threads, respectivamente.

Para acessar as configurações da config selecionada, clique no ícone do lápis botão editar config de threads , após o qual suas configurações serão abertas. Botão editar Config de Threads no Editor de Tarefas

Também é possível acessar as configurações de threads através do item de menu: Settings -> Config Presets

Aqui podemos:

  • criar uma nova config com suas próprias configurações e salvá-la com seu próprio nome (botão Adicionar novo)
  • fazer alterações em uma config existente, selecionando-a na lista suspensa (botão Salvar)
Configurações da Config de Threads

Número de threads (Threads count)

Este parâmetro define o número de threads em que a tarefa iniciada com esta config funcionará. O número de threads pode ser qualquer um, mas é necessário considerar as capacidades do seu servidor, bem como o limite do plano de proxy, se tal limite existir. Por exemplo, para nossos proxies, você pode especificar no máximo o plano selecionado.

nota

Também é importante lembrar que o número total de threads no scraper é igual à soma das tarefas em execução e dos proxycheckers ativos com verificação de proxy. Por exemplo, se uma tarefa de 20 threads e duas tarefas de 100 threads cada estiverem em execução, e também um proxychecker com verificação de proxy em 15 threads estiver funcionando, o scraper usará no total 20+100+100+15=235 threads. Se o plano de proxy for para 200 threads, haverá muitas requisições falhas. Para evitá-las, é necessário reduzir o número de threads utilizadas. Por exemplo, desativar a verificação de proxy (se não for necessária, isso economizará 15 threads) e reduzir o número de threads em alguma tarefa em mais 20 threads. Assim, para uma das tarefas em execução, deve-se criar uma config de 80 threads e deixar as outras como estão.

Proxycheckers (Proxy Checkers)

Este parâmetro permite a escolha de um proxychecker com configurações específicas. Aqui você pode selecionar o parâmetro All, que significa o uso de todos os proxycheckers em funcionamento, ou apenas aqueles que devem ser usados na tarefa (é possível selecionar vários itens)

nota

Esta configuração permite iniciar a tarefa apenas com os proxycheckers necessários. O processo de configuração do proxychecker é abordado aqui

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

Aqui é definido o número máximo de threads em que o mesmo proxy será usado simultaneamente. Permite definir diferentes parâmetros, por exemplo, o funcionamento de 1 thread = 1 proxy.

nota

Por padrão, este parâmetro é 0, o que desativa esta função. Na maioria dos casos, isso é suficiente. Mas se for necessário limitar a carga em cada proxy, faz sentido alterar o valor.

Banimento global de proxy (Global proxy ban)

Todas as tarefas iniciadas com esta opção compartilham uma base comum de banimento de proxy. A característica deste parâmetro é que a lista de proxies banidos para cada scraper é comum a todas as tarefas em execução.

Por exemplo, um proxy banido no SE::GoogleSE::Google na tarefa 1 também estará banido para o SE::GoogleSE::Google na tarefa 2, mas poderá funcionar livremente no SE::YandexSE::Yandex em ambas as tarefas

Máximo de conexões por host (Max connections per host)

Este parâmetro indica o número máximo de conexões por host, destinado a reduzir a carga no site durante a extração de informações. Essencialmente, definir este parâmetro permite controlar o número de requisições em um dado momento para cada domínio específico. A ativação deste parâmetro aplica-se à tarefa; se várias tarefas forem iniciadas simultaneamente com a mesma config de threads, o limite será contado para todas as tarefas.

Por padrão, este parâmetro tem o valor 0, ou seja, está desativado.

Reutilização de proxy entre tentativas (Reuse proxy between retries)

Esta configuração desativa a verificação de unicidade de proxy para cada tentativa, e o banimento de proxy também não funcionará. Isso, por sua vez, significa a possibilidade de usar 1 proxy para todas as tentativas.

Recomenda-se ativar este parâmetro, por exemplo, nos casos em que se planeja usar 1 proxy que altera o IP de saída a cada conexão.

Estratégia de uso de proxy (Proxy strategy)

Permite gerenciar a estratégia de escolha de proxy ao usar sessões: manter o proxy de uma requisição bem-sucedida para a próxima requisição ou sempre usar um proxy aleatório.

Recomendações

Neste artigo foram abordadas todas as configurações que permitem gerenciar as threads. Vale notar que, ao configurar a config de threads, não é obrigatório definir todos os parâmetros mencionados no artigo; basta definir apenas aqueles que garantirão a obtenção do resultado correto. Geralmente, basta alterar apenas o Threads count, as outras configurações podem ser deixadas no padrão.

Configurações de scrapers

Cada scraper possui diversas configurações e permite salvar diferentes conjuntos de configurações em predefinições. O sistema de predefinições permite usar o mesmo scraper com diferentes configurações dependendo da situação, vejamos o exemplo do scraper SE::GoogleSE::Google:

  • Número de páginas (Pages count): 10

Desta forma, o scraper coletará o número máximo de links, percorrendo todas as páginas dos resultados de busca.

Preset 2: "Extração de concorrência por consulta"

  • Número de páginas (Pages count): 1
  • Formato do resultado (Results format): $query: $totalcount\n

Neste caso, obtemos o número de resultados da busca por consulta (concorrência da consulta) e, para maior velocidade, basta extrair apenas a primeira página.

Criação de presets

Criação de preset

A criação de um preset começa com a escolha do scraper/scrapers e a definição do resultado que se deseja obter.

Em seguida, é necessário entender quais serão os dados de entrada para o scraper selecionado; na captura de tela acima, o scraper SE::GoogleSE::Google está selecionado, e seus dados de entrada são quaisquer strings, como se você estivesse pesquisando algo no navegador. Você pode selecionar um arquivo de consultas ou inserir as consultas no campo de texto.

Agora é necessário redefinir as configurações (escolher opções) para o scraper, adicionar desduplicação. Pode-se usar o construtor de consultas se for necessário processar consultas. Ou usar o construtor de resultados se for necessário processar os resultados de alguma forma.

Em seguida, deve-se prestar atenção à edição do nome do arquivo de resultados e, se necessário, alterá-lo conforme sua preferência.

O último ponto é a escolha de opções adicionais, especialmente a opção Do log (Manter log). Muito útil se você quiser descobrir o motivo de um erro de extração de dados.

Após tudo isso, é necessário salvar o preset e adicioná-lo à fila de tarefas.

Redefinição de configurações

Override preset - redefinição rápida de configurações para o scraper, esta opção pode ser adicionada diretamente no Editor de tarefas. Com um clique, é possível adicionar vários parâmetros. Na lista de configurações, os valores padrão são indicados e, se a opção estiver em negrito, significa que já foi redefinida no preset.

Redefinição de configurações para o scraper

Neste exemplo, a opção Pages count (Número de páginas) foi redefinida para 5.

Na tarefa, pode-se usar um número ilimitado de opções Override preset, mas se houver muitas alterações, é mais conveniente criar um novo preset e salvar todas as alterações nele.

Também é possível salvar as redefinições facilmente usando a função Save overrides to preset (Salvar redefinições). Elas serão salvas como um preset separado para o scraper selecionado.

Salvamento de opções redefinidas

Depois disso, no futuro, bastará selecionar este preset salvo na lista e usá-lo.

Seleção de preset salvo para um scraper específico

Configurações comuns para todos os scrapers

Cada scraper tem seu próprio conjunto de configurações; informações sobre as configurações de cada scraper podem ser encontradas na seção correspondente

Nesta tabela, apresentamos as configurações comuns para todos os scrapers

Nome do parâmetroValor padrãoDescrição
Request retries10Número de tentativas para cada requisição; se a requisição não puder ser concluída no número de tentativas especificado, ela será considerada falha e ignorada
Use proxyDefine se deve usar proxy
Query format$queryFormato da consulta
Result formatCada scraper tem seu próprio valorFormato de saída do resultado
Proxy ban timeCada scraper tem seu próprio valorTempo de banimento do proxy em segundos
Request timeout60Tempo máximo de espera da requisição em segundos
Request delay0Atraso entre requisições em segundos; pode-se definir um valor aleatório em um intervalo, por exemplo 10,30 - atraso de 10 a 30 segundos
Proxy CheckerAllProxies de quais checkers devem ser usados (escolha entre todos ou enumeração de específicos)

Comuns para todos os scrapers que funcionam via protocolo HTTP

Nome do parâmetroValor padrãoDescrição
Max body sizeCada scraper tem seu próprio valorTamanho máximo da página de resultados em bytes
Use gzipDefine se deve usar compressão do tráfego transmitido
Extra query stringPermite especificar parâmetros adicionais na string de consulta
nota

As configurações padrão para cada scraper podem variar. Elas são armazenadas no preset default nas configurações de cada scraper.

Configurações de proxycheckers

Saiba mais sobre a Configuração de proxycheckers

Configurações adicionais

Configurações adicionais
  • Quebra de linha permite escolher entre a variante Unix e Windows de final de linha ao salvar resultados em arquivo
  • Formato de números - define como exibir números na interface do A-Parser
  • Macros de modelos