Domanda

Devo trovare un modo per eseguire la scansione di una delle applicazioni Web della nostra azienda e creare un sito statico da esso che può essere masterizzato su un cd e utilizzato dai venditori ambulanti per provare il sito Web. L'archivio dati di back-end è distribuito su molti, molti sistemi, quindi il semplice funzionamento del sito su una macchina virtuale sul portatile della persona in vendita non funzionerà. E non avranno accesso a Internet da alcuni clienti (niente internet, cellulare .... primitivo, lo so).

Qualcuno ha qualche buon consiglio per i crawler in grado di gestire cose come pulizia dei link, flash, un po 'di ajax, css, ecc? So che le probabilità sono scarse, ma ho pensato di buttare la domanda qui prima di iniziare a scrivere il mio strumento.

È stato utile?

Soluzione

wget o curl possono sia seguire in modo ricorsivo i link sia rispecchiare un intero sito, quindi potrebbe essere una buona scommessa. Non sarai in grado di utilizzare parti del sito veramente interattive, come i motori di ricerca, o qualsiasi cosa che modifichi i dati, thoguh.

È possibile creare servizi di backend fittizi che possono essere eseguiti dai laptop degli addetti alle vendite, con cui l'app può interfacciarsi?

Altri suggerimenti

Utilizzando un WebCrawler , ad es. uno di questi:

  • DataparkSearch è un crawler e un motore di ricerca rilasciato sotto la GNU General Public License.
  • GNU Wget è un crawler gestito dalla riga di comando scritto in C e rilasciato sotto licenza GPL. In genere viene utilizzato per il mirroring di siti Web e FTP.
  • HTTrack utilizza un crawler Web per creare un mirror di un sito Web per la visualizzazione off-line. È scritto in C e rilasciato sotto licenza GPL.
  • ICDL Crawler è un crawler web multipiattaforma scritto in C ++ e destinato alla scansione di siti Web basati su modelli di analisi dei siti Web utilizzando solo le risorse CPU gratuite del computer.
  • JSpider è un motore spider web altamente configurabile e personalizzabile rilasciato sotto licenza GPL.
  • Larbin di Sebastien Ailleret
  • Webtools4larbin di Andreas Beder
  • Methabot è un crawler web ottimizzato per la velocità e un'utilità da riga di comando scritta in C e rilasciata con una licenza BSD a 2 clausole. È dotato di un ampio sistema di configurazione, un sistema di moduli e ha il supporto per la scansione mirata attraverso filesystem locale, HTTP o FTP.
  • Jaeksoft WebSearch è un crawler web e un indicizzatore compilato su Apache Lucene. È rilasciato con licenza GPL v3.
  • Nutch è un crawler scritto in Java e rilasciato sotto una Licenza Apache. Può essere utilizzato insieme al pacchetto di indicizzazione del testo di Lucene.
  • Pavuk è uno strumento web mirror della riga di comando con crawler GUI X11 opzionale e rilasciato sotto licenza GPL. Ha un sacco di funzionalità avanzate rispetto a wget e httrack, ad es. regole di filtro e creazione di file basate su espressioni regolari.
  • WebVac è un crawler utilizzato dal progetto Stanford WebBase.
  • WebSPHINX (Miller e Bharat, 1998) è composto da una libreria di classi Java che implementa il recupero di pagine Web multi-thread e l'analisi HTML e un'interfaccia utente grafica per impostare gli URL di partenza, estrarre i dati scaricati e implementare un motore di ricerca di base basato su testo.
  • WIRE - Web Information Retrieval Environment [15] è un crawler web scritto in C ++ e rilasciato sotto licenza GPL, che include diversi criteri per la pianificazione dei download delle pagine e un modulo per la generazione di report e statistiche sulle pagine scaricate, quindi è stato utilizzato per la caratterizzazione del web.
  • LWP :: RobotUA (Langheinrich, 2004) è una classe Perl per l'implementazione di robot web paralleli ben educati distribuiti sotto la licenza di Perl 5.
  • Web Crawler Classe di crawler Web open source per .NET (scritta in C #).
  • Sherlock Holmes Sherlock Holmes raccoglie e indicizza i dati testuali (file di testo, pagine Web, ...), sia localmente che attraverso la rete. Holmes è sponsorizzato e utilizzato commercialmente dal portale web ceco Centrum. Viene anche utilizzato da Onet.pl.
  • YaCy, un motore di ricerca distribuito gratuito, basato sui principi delle reti peer-to-peer (con licenza GPL).
  • Ruya Ruya è un crawler web open source, ad alte prestazioni, basato su livelli elevati. Viene utilizzato per eseguire la scansione di siti Web inglesi e giapponesi in modo ben educato. È rilasciato sotto licenza GPL ed è interamente scritto in linguaggio Python. Un'implementazione SingleDomainDelayCrawler obbedisce a robots.txt con un ritardo di ricerca per indicizzazione.
  • Universal Information Crawler Web crawler in rapido sviluppo. Scansione Salva e analizza i dati.
  • Agent Kernel Un framework Java per la pianificazione, il thread e la gestione dell'archiviazione durante la scansione.
  • Spider News, informazioni sulla costruzione di un ragno in perl.
  • Arachnode.NET, è un crawler Web promiscuo open source per il download, l'indicizzazione e l'archiviazione di contenuti Internet, inclusi indirizzi e-mail, file, collegamenti ipertestuali, immagini e pagine Web. Arachnode.net è scritto in C # usando SQL Server 2005 ed è rilasciato sotto licenza GPL.
  • dine è un client / crawler HTTP multithreading HTTP che può essere programmato in JavaScript rilasciato sotto LGPL.
  • Crawljax è un crawler Ajax basato su un metodo che crea dinamicamente un `grafico del flusso di stato 'che modella i vari percorsi e stati di navigazione all'interno di un'applicazione Ajax. Crawljax è scritto in Java e rilasciato sotto licenza BSD.

Solo perché nessuno copia ha incollato un comando funzionante ... Sto provando ... dieci anni dopo. : D

wget --mirror --convert-links --adjust-extension --page-requisites \
--no-parent http://example.org

Ha funzionato come un incantesimo per me.

Non sarai in grado di gestire cose come le richieste AJAX senza masterizzare un server web sul CD, che ho capito che hai già detto che è impossibile.

wget scaricherà il sito per te (usa il parametro -r per " ricorsivo "), ma qualsiasi contenuto dinamico come i report e così via ovviamente non funzionerà correttamente, otterrai solo una singola istantanea.

Se alla fine dovessi eseguirlo da un server web, potresti dare un'occhiata a:

ServerToGo

Ti consente di eseguire uno stack WAMPP da un CD, completo di supporto mysql / php / apache. I db vengono copiati nella directory temporanea degli utenti correnti all'avvio e possono essere eseguiti interamente senza che l'utente installi nulla!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top