Idee per raschiare un sistema di insetti alimentato a php fatto in casa [chiuso]

1

Lavoro in una grande azienda, e siamo bloccati da uno schifoso strumento di tracciamento dei bug, che fa troppe cose a metà, ma la sua funzionalità di ricerca è quasi impossibile da usare (ha circa 80 campi che uno deve / può compilare) e la ricerca deve essere precisa. Abbiamo molti bug duplicati archiviati che non sono mai stati consolidati, oltre a eliminare tutti i bug archiviati su alcuni prodotti in alcune versioni non sarà affatto facile.

Eliminare l'attuale sistema è un'impossibilità politica e strategica. Centinaia di persone sono legate a questo. Quello che spero di fare è iterare sui bug 1 attraverso molti (credo, c'è un modo) e poi salvare le pagine HTML risultanti chiamate "bug000001.html", "bug000002.html", ecc. Dopo ciò vorrei una sorta di indicizzazione full-text in stile Google. Quello che abbiamo è così brutto, che fare questo sarebbe utile. I bug non cambiano molto nel tempo, quindi non sono così preoccupato di non essere sincronizzato con l'originale - non sarà fantastico.

Quindi la mia domanda è: supponiamo di aver scaricato i file html nella stessa cartella. Quale strumento gratuito e open source posso utilizzare per consentire la ricerca fuzzy sul contenuto? Mi rendo conto che posso inventare una regex specifica ogni volta che cerco che probabilmente farò il compito, ma mi piacerebbe renderlo ancora più facile, dove le ortografie sbagliate non fanno male. Mi rendo conto che la piena efficacia della ricerca personalizzata basata sulla cronologia di Google non sarà probabilmente accessibile per me, ma accontenterò volentieri per qualcosa di simile, che sia gratuito e facile da usare.

Se hai suggerimenti per un buon strumento gratuito e open source / libreria Python che posso usare per automatizzare semplici azioni del browser, come inserire testo in una casella di testo, fare clic sul pulsante e quindi salvare il contenuto in un file HTML, quindi per favore elencalo pure, anche se probabilmente dovrebbe essere una domanda a parte.

EDIT Non ho accesso al codice sorgente per il front-end o il back-end di PhP; questo è tutto bloccato dai socialisti di un altro continente.

    
posta Job 07.06.2011 - 23:32
fonte

4 risposte

2

Ho usato un sistema chiamato Xapian prima, era davvero piuttosto buono per la ricerca full-text, e secondo il suo sito web ( link ) può indicizzare html bene.

Ha anche collegamenti Python sotto forma di estensioni xappy ( link ).

Suggerirei di provarlo (anche se penso che potresti scavare in una buca più profonda con il tuo tracker "personalizzato" seguendo questa strada. Buona fortuna!)

Modifica

Oh, anche se hai bisogno del pulsante "testo + pulsante automatico" puoi dare un'occhiata al Selenium ( link ) che può automatizzare le attività del browser tramite python (link è il binding Python, non il selenio stesso, che è link ). Non è completamente affidabile, ma dovrebbe essere sufficiente per completare il lavoro.

    
risposta data 07.06.2011 - 23:38
fonte
2

Dovresti controllare il motore di ricerca chiamato SOLR. È basato su documenti e contiene alcuni esempi in cui sono indicizzate le pagine Web. C'è un front end di esempio che probabilmente farà ciò che ti serve in termini di ricerca.

Il back-end di SOLR è Lucene, che è ben documentato e ha ottime capacità di ricerca full text.

Dovresti essere in grado di configurarlo in modo che SOLR graffi le tue pagine (potrebbe persino essere in grado di raschiare direttamente il sistema live), quindi usare i tag HTML analizza il documento in cose come soggetto, utente ecc.

    
risposta data 08.06.2011 - 20:57
fonte
0

Una cosa che dovresti prendere in considerazione è l'installazione di un sistema di tracciamento dei bug da te stesso, e la riscrittura di tutti i bug dal sistema interno al tuo sistema di tracciamento dei bug.

Mi rendo conto che ci sarebbe un sacco di immissione di dati. Potresti essere in grado di automatizzare il caricamento iniziale in qualche modo.

Una volta che le persone vedono che tipi di sommari puoi fornire, saranno curiosi. A quel punto, puoi introdurli al sistema di tracciamento dei bug.

    
risposta data 08.06.2011 - 15:01
fonte
0

Puoi accedere al database che usa il tuo bugracker interno? O ha qualche API? Se no ad entrambe le domande, puoi scrivere API tu stesso emulando richieste GET / POST e analizzando l'HTML risultante. O usando il selenio.

Quindi prendi il tuo bugtracker preferito che utilizza lo schema DB documentato (credo quasi tutto) e fai ETL .

    
risposta data 04.05.2015 - 13:01
fonte

Leggi altre domande sui tag