Vai al contenuto principale

Impostazioni

A-Parser contiene i seguenti gruppi di impostazioni:

  • Global Settings - impostazioni principali del programma: lingua, password, parametri di aggiornamento, numero di attività attive
  • Config Presets - impostazioni dei thread e dei metodi di deduplicazione per le attività
  • Parser Presets - possibilità di configurare ogni singolo scraper
  • Impostazioni verifica proxy - numero di thread e tutte le impostazioni per il proxychecker
  • Advanced Settings - impostazioni opzionali per utenti avanzati
  • Task presets - salvataggio delle attività per un utilizzo successivo

Tutte le impostazioni (tranne quelle generali e aggiuntive) vengono salvate nei cosiddetti preset - set di impostazioni pre-salvate, ad esempio:

  • Diversi preset di impostazioni per lo scraper SE::GoogleSE::Google - uno per lo scraping di link con una profondità massima di 10 pagine, l'altro per valutare la concorrenza per una query, con profondità di scraping di 1 pagina
  • Diversi preset di impostazioni del proxychecker - separati per proxy HTTP e SOCKS

Per tutte le impostazioni esiste un preset predefinito (default), che non può essere modificato; tutte le modifiche devono essere salvate in preset con nuovi nomi.

Impostazioni generali

Impostazioni -> Impostazioni generali
Nome parametroValore predefinitoDescrizione
PasswordNessuna passwordImposta una password per l'accesso ad A-Parser
LanguageEnglishLingua dell'interfaccia
News & TipsEnglishLingua delle novità e dei suggerimenti
Enable tipsDetermina se visualizzare i suggerimenti
Check updatesDetermina se visualizzare le informazioni sulla disponibilità di un nuovo aggiornamento nella Barra di stato
Save window sizeDetermina se salvare le dimensioni della finestra
Updates channelStableScelta del canale di aggiornamento (Stabile, Beta, Alfa)
Tasks per page5Numero di attività per pagina nella Coda attività
Max active tasks1Numero massimo di attività attive
Total threads limit10000Limite totale di thread in A-Parser. L'attività non si avvierà se il limite totale di thread è inferiore al numero di thread nell'attività
Dynamic thread limitDetermina se utilizzare il Limite dinamico thread
CPU cores (task processing)2Supporto per l'elaborazione delle attività su diversi core del processore (solo per licenza Enterprise). Descritto in dettaglio di seguito
CPU cores (result processing)4Più core vengono utilizzati solo durante il filtraggio, il Costruttore di risultati, Parse custom result (tutti i tipi di licenza)
Memory SaverBest speedConsente di determinare quanta memoria può utilizzare lo scraper (Best speed / Medium memory usage / Save max memory). Dettagli...

Core CPU (elaborazione attività)

Supporto per l'elaborazione delle attività su diversi core del processore, questa funzionalità è disponibile solo per la licenza Enterprise

Questa opzione accelera (molte volte) l'elaborazione di più attività nella coda (Settings -> Max active tasks), ma non accelera in alcun modo l'esecuzione di una singola attività

È stata inoltre implementata una distribuzione intelligente delle attività sui core di lavoro basata sul carico della CPU di ogni processo Il numero di core del processore utilizzati viene impostato nelle impostazioni, il valore predefinito è 2, il massimo è 32

Come nel caso dei thread, è meglio scegliere il numero di core in modo sperimentale; valori ragionevoli sarebbero 2-3 core per processori a 4 core, 4-6 per quelli a otto core, ecc. Vale la pena considerare che con un gran numero di core e un loro elevato carico, potrebbe verificarsi un carico del 100% del processo di controllo principale (aparser/aparser.exe), per cui un ulteriore aumento dei processi per l'elaborazione delle attività causerebbe solo un rallentamento generale o un funzionamento instabile. Vale anche la pena considerare che ogni processo di elaborazione delle attività può creare un carico aggiuntivo fino al 300% (ovvero caricare al 100% contemporaneamente 3 core), questa caratteristica è legata all'elaborazione multithreading della garbage collection nel motore JavaScript v8

Impostazioni thread

Il funzionamento di A-Parser si basa sul principio dell' elaborazione dati multithreading. Lo scraper esegue le attività in parallelo in thread separati, il cui numero può variare in modo flessibile a seconda della configurazione del server.

Descrizione del funzionamento dei thread

Vediamo cosa sono i thread nella pratica. Supponiamo che tu debba redigere un rapporto per tre mesi.

Opzione 1
Puoi redigere il rapporto prima per il 1° mese, poi per il 2° e infine per il 3°. Questo è un esempio di lavoro a thread singolo. Le attività vengono risolte una alla volta.

Opzione 2
Assumere tre contabili che redigeranno i rapporti, uno per ogni mese. E poi, una volta ricevuti i risultati da tutti e tre, creare un rapporto generale. Questo è un esempio di lavoro multithreading. Le attività vengono risolte simultaneamente.

Come si vede da questi esempi, il lavoro multithreading permette di completare l'attività più velocemente, ma allo stesso tempo richiede più risorse (abbiamo bisogno di 3 contabili invece di 1). Il multithreading in A-Parser funziona in modo analogo. Supponiamo che tu debba fare lo scraping di informazioni da diversi link:

  • con un solo thread l'applicazione eseguirà lo scraping di ogni sito uno dopo l'altro
  • lavorando in più thread, ognuno elaborerà il proprio link e, al termine, passerà al successivo non elaborato nell'elenco

In questo modo, nella seconda opzione, l'intera attività sarà completata molto più velocemente, ma richiederà più risorse del server, pertanto si raccomanda di rispettare i Requisiti di sistema

Configurazione dei thread

La configurazione dei thread in A-Parser viene eseguita separatamente per ogni attività, a seconda dei parametri necessari per la sua esecuzione. Per impostazione predefinita sono disponibili 2 configurazioni thread: una da 20 e una da 100 thread, per default e 100 Threads rispettivamente.

Per accedere alle impostazioni della configurazione selezionata, è necessario cliccare sull'icona della matita pulsante modifica configurazione thread , dopodiché si apriranno le sue impostazioni. Pulsante modifica Configurazione thread nell'Editor attività

È inoltre possibile passare alle impostazioni dei thread tramite la voce di menu: Settings -> Config Presets

Qui possiamo:

  • creare una nuova configurazione con le proprie impostazioni e salvarla con un proprio nome (pulsante Aggiungi nuovo)
  • apportare modifiche a una configurazione esistente selezionandola dall'elenco a discesa (pulsante Salva)
Impostazioni della Configurazione thread

Numero di thread (Threads count)

Questo parametro imposta il numero di thread con cui lavorerà l'attività avviata con questa configurazione. Il numero di thread può essere qualsiasi, ma è necessario considerare le capacità del proprio server, nonché il limite del piano proxy, se previsto. Ad esempio, per i nostri proxy è possibile indicare non più del piano selezionato.

nota

È inoltre importante ricordare che il numero totale di thread nello scraper è pari alla somma delle attività in esecuzione e dei proxy checker attivi con la verifica dei proxy. Ad esempio, se è avviata un'attività a 20 thread e due attività da 100 thread ciascuna, ed è attivo un proxy checker in cui è abilitata la verifica dei proxy a 15 thread, in totale lo scraper utilizzerà 20+100+100+15=235 thread. In questo caso, se il piano proxy è previsto per 200 thread, ci saranno molte richieste fallite. Per evitarle, è necessario ridurre il numero di thread utilizzati. Ad esempio, disattivare la verifica dei proxy (se non è necessaria, si risparmieranno 15 thread) e ridurre il numero di thread in una delle attività di altri 20 thread. In questo modo, per una delle attività in esecuzione è necessario creare una configurazione a 80 thread, lasciando le altre come sono

Proxy checker (Proxy Checkers)

Questo parametro consente di scegliere un proxy checker con determinate impostazioni. Qui è possibile selezionare il parametro All, che significa l'utilizzo di tutti i proxy checker attivi, oppure solo quelli che devono essere utilizzati nell'attività (è possibile selezionare più voci)

nota

Questa impostazione permette di avviare l'attività solo con i proxy checker necessari. Il processo di configurazione del proxy checker è esaminato qui

Massimo thread per proxy (Max threads per proxy)

Qui si imposta il numero massimo di thread su cui verrà utilizzato contemporaneamente lo stesso proxy. Permette di impostare diversi parametri, ad esempio il funzionamento 1 thread = 1 proxy.

nota

Per impostazione predefinita, questo parametro è uguale a 0, il che disabilita questa funzione. Nella maggior parte dei casi questo è sufficiente. Ma se è necessario limitare il carico su ogni proxy, allora ha senso cambiare il valore

Ban globale dei proxy (Global proxy ban)

Tutte le attività avviate con questa opzione condividono un database comune di ban dei proxy. La particolarità di questo parametro è che l'elenco dei proxy bannati per ogni scraper è comune a tutte le attività in esecuzione.

Ad esempio, un proxy bannato in SE::GoogleSE::Google nell'attività 1 sarà bannato anche per SE::GoogleSE::Google nell'attività 2, ma potrà comunque funzionare liberamente in SE::YandexSE::Yandex in entrambe le attività

Massimo connessioni per host (Max connections per host)

Questo parametro indica il numero massimo di connessioni per host, destinato a ridurre il carico sul sito durante lo scraping di informazioni da esso. In sostanza, l'indicazione di questo parametro permette di controllare il numero di richieste in un dato momento per ogni specifico dominio. L'abilitazione di questo parametro si estende all'attività; se si avviano più attività contemporaneamente con la stessa configurazione di thread, il limite sarà calcolato per tutte le attività.

Per impostazione predefinita, questo parametro ha valore 0, ovvero è disattivato.

Riutilizzo del proxy tra i tentativi (Reuse proxy between retries)

Questa impostazione disabilita il controllo dell'unicità del proxy per ogni tentativo e non funzionerà il ban del proxy. Ciò significa a sua volta la possibilità di utilizzare 1 proxy per tutti i tentativi.

Si raccomanda di abilitare questo parametro, ad esempio, nei casi in cui si pianifica di utilizzare 1 proxy il cui IP di uscita cambia ad ogni connessione.

Strategia di utilizzo dei proxy (Proxy strategy)

Permette di gestire la strategia di scelta del proxy quando si utilizzano le sessioni: mantenere il proxy di una richiesta andata a buon fine per la richiesta successiva o utilizzare sempre un proxy casuale.

Raccomandazioni

In questo articolo sono state esaminate tutte le impostazioni che permettono di gestire i thread. Vale la pena notare che nella configurazione dei thread non è obbligatorio impostare tutti i parametri indicati nell'articolo, è sufficiente impostare solo quelli che garantiscono l'ottenimento di un risultato corretto. Di solito è necessario cambiare solo Threads count, le altre impostazioni possono essere lasciate ai valori predefiniti.

Impostazioni degli scraper

Ogni scraper ha numerose impostazioni e permette di salvare diversi set di impostazioni in preset. Il sistema dei preset permette di utilizzare lo stesso scraper con diverse impostazioni a seconda della situazione, analizziamo l'esempio dello scraper SE::GoogleSE::Google:

  • Numero di pagine (Pages count): 10

In questo modo lo scraper raccoglierà il numero massimo di link, navigando attraverso tutte le pagine dei risultati di ricerca

Preset 2: "Scraping della concorrenza per query"

  • Numero di pagine (Pages count): 1
  • Formato del risultato (Results format): $query: $totalcount\n

In questo caso otteniamo il numero di risultati della ricerca per la query (concorrenza della query) e per una maggiore velocità ci basta fare lo scraping solo della prima pagina

Creazione dei preset

Creazione del preset

La creazione di un preset inizia con la scelta dello scraper/degli scraper e la definizione del risultato che si desidera ottenere.

Successivamente bisogna capire quali saranno i dati di input per lo scraper selezionato; nello screenshot sopra è selezionato lo scraper SE::GoogleSE::Google, i cui dati di input sono stringhe qualsiasi come se si stesse cercando qualcosa nel browser. È possibile scegliere un file di query o inserire le query in un campo di testo.

Ora è necessario ridefinire le impostazioni (scegliere le opzioni) per lo scraper, aggiungere la deduplicazione. È possibile utilizzare il costruttore di query se è necessario elaborare le query, oppure utilizzare il costruttore di risultati se è necessario elaborare i risultati in qualche modo.

Successivamente bisogna prestare attenzione alla modifica del nome del file dei risultati e, se necessario, cambiarlo a propria discrezione.

L'ultimo punto è la scelta delle opzioni aggiuntive, in particolare l'opzione Do log (Mantieni log). Molto utile se si desidera conoscere la causa di un errore di scraping.

Dopo tutto questo, è necessario salvare il preset e aggiungerlo alla coda delle attività.

Ridefinizione delle impostazioni

Override preset - ridefinizione rapida delle impostazioni per lo scraper, questa opzione può essere aggiunta direttamente nell' Editor delle attività. Con un clic è possibile aggiungere diversi parametri. Nell'elenco delle impostazioni sono indicati i valori predefiniti, e se un'opzione è evidenziata in grassetto significa che è già stata ridefinita nel preset

Sovrascrittura delle impostazioni per lo scraper

In questo esempio è stata sovrascritta l'opzione Pages count (Numero di pagine), impostandola a 5.

In un'attività è possibile utilizzare un numero illimitato di opzioni Override preset, ma se le modifiche sono molte, è più comodo creare un nuovo preset e salvarvi tutte le modifiche.

È inoltre possibile salvare facilmente le ridefinizioni con la funzione Save overrides to preset (Salva ridefinizioni). Saranno salvate come un preset separato per lo scraper selezionato.

Salvataggio delle opzioni sovrascritte

Dopodiché, in futuro basterà semplicemente selezionare questo preset salvato dall'elenco e utilizzarlo.

Scelta del preset salvato per uno specifico scraper

Impostazioni comuni per tutti gli scraper

Ogni scraper ha il proprio set di impostazioni; puoi trovare informazioni sulle impostazioni di ogni scraper nella sezione corrispondente

In questa tabella abbiamo presentato le impostazioni comuni a tutti gli scraper

Nome parametroValore predefinitoDescrizione
Request retries10Numero di tentativi per ogni richiesta; se la richiesta non può essere eseguita entro il numero di tentativi indicato, viene considerata fallita e saltata
Use proxyDetermina se utilizzare i proxy
Query format$queryFormato della query
Result formatOgni scraper ha il suo valoreFormato di output del risultato
Proxy ban timeOgni scraper ha il suo valoreTempo di ban del proxy in secondi
Request timeout60Tempo massimo di attesa della richiesta in secondi
Request delay0Ritardo tra le richieste in secondi; è possibile impostare un valore casuale in un intervallo, ad esempio 10,30 - ritardo da 10 a 30 secondi
Proxy CheckerAllQuali proxy dei checker devono essere utilizzati (scelta tra tutti o elenco di specifici)

Comuni a tutti gli scraper che lavorano tramite protocollo HTTP

Nome parametroValore predefinitoDescrizione
Max body sizeOgni scraper ha il suo valoreDimensione massima della pagina dei risultati in byte
Use gzipDetermina se utilizzare la compressione del traffico trasmesso
Extra query stringConsente di specificare parametri aggiuntivi nella stringa di query
nota

Le impostazioni predefinite per ogni scraper possono variare. Sono memorizzate nel preset default nelle impostazioni di ogni scraper.

Impostazioni dei proxy checker

Dettagli sulla Configurazione dei proxychecker

Impostazioni aggiuntive

Impostazioni aggiuntive
  • L'interruzione di riga permette di scegliere tra la variante Unix e Windows per la fine delle righe durante il salvataggio dei risultati in un file
  • Formato numeri - imposta come visualizzare i numeri nell'interfaccia di A-Parser
  • Macro dei modelli