Ottieni dati dal server di scarto

1

Io distribuisco un server di scrap web utilizzando scrapy. Lo scenario è un server Linux che esegue mongoDB (o forse mySQL non ne sono affatto sicuro ...) e script python con framework scrapy.

La domanda principale è cosa usare per fornire dati ad altri server. Proverò a spiegare:

Ho un'app delphi in esecuzione su un altro server, l'idea è che l'app delphi richieda alcuni dati al server di scrap e il server di scrap risponda. Alcune opzioni qui:

  1. Il server di scarto esegue a volte un programma di script scrapy durante il giorno e salva le informazioni nel database. L'app Delphi si collega direttamente al database e ottiene le informazioni. Ho qualche idea su come farlo, ma non so se è l'opzione migliore o più standard (pensando in futuro ...).

  2. Quando delphi richiesta informazioni, "chiama" il server, il servizio esegue script scrapy e restituisce CSV. Non ho idea di come fare questo ... ho letto che forse con PHP ??? : S

  3. Forse con REST o SOAP?

Come puoi vedere sono perso in questo argomento, qualsiasi aiuto o commento sull'architettura è benvenuto !!!!

Grazie in anticipo!

    
posta Oriol Mari 06.03.2017 - 11:28
fonte

1 risposta

1

Puoi utilizzare un servizio come Scrapyd

I passaggi sarebbero i seguenti:

  1. Distribuisci spider a scrapyd che salva gli elementi direttamente in un database
  2. Fai in modo che lo spider scorra attraverso l'endpoint della pianificazione scrapyd che restituirà il seguente output {"status": "ok", "jobid": "26d1b1a6d6f111e0be5c001e648c57f8"}
  3. Salva il jobid
  4. Effettua chiamate all'endpoint di scrapyd listjobs e controlla se il jobid è presente
  5. Se il jobid non è presente è perché lo spider ha finito di girare
  6. Recupera i dati dal database
risposta data 06.03.2017 - 12:22
fonte

Leggi altre domande sui tag