2009-02-25 12 views
28

So che i correttori ortografici non sono perfetti, ma diventano più utili a mano a mano che la quantità di testo aumenta. Come posso controllare l'ortografia di un sito che ha migliaia di pagine?Come si scrive il controllo di un sito Web?

Modifica: A causa della complicata elaborazione lato server, l'unico modo per ottenere le pagine è su HTTP. Inoltre, non può essere esternalizzato a terzi.

Modifica: ho un elenco di tutti gli URL sul sito che devo controllare.

risposta

0

Si potrebbe fare questo con uno script di shell che combina wget con aspell. Avevi in ​​mente un ambiente di programmazione?

Personalmente utilizzerei Python con Beautiful Soup per estrarre il testo dai tag e inviare il testo attraverso l'aspell.

1

Se è una tantum, ea causa del numero di pagine da controllare potrebbe valere la pena di considerare qualcosa come spellr.us che sarebbe una soluzione rapida. Puoi inserire l'URL del tuo sito web sulla home page per avere un'idea di come segnalare errori di ortografia.

http://spellr.us/

ma sono sicuro che ci sono alcune alternative gratuite.

0

Usa i modelli (bene) con la tua webapp (se stai programmando il sito invece di scrivere solo html), e un editor html che include il controllo ortografico. Eclipse, per esempio.

Se questo non è possibile per qualche motivo ... sì, wget per scaricare le pagine finite, e qualcosa di simile:

http://netsw.org/dict/tools/ispell-html-mode.patch

2

Se è possibile accedere ai contenuti del sito sotto forma di file, è possibile scrivere un piccolo script di shell Unix che fa il lavoro. Il seguente script stamperà il nome di un file, il numero di riga e le parole errate. La qualità dell'output dipende da quella del dizionario del tuo sistema.

#!/bin/sh 

# Find HTML files 
find $1 -name \*.html -type f | 
while read f 
do 
     # Split file into words 
     sed ' 
# Remove CSS 
/<style/,/<\/style/d 
# Remove Javascript 
/<script/,/<\/script/d 
# Remove HTML tags 
s/<[^>]*>//g 
# Remove non-word characters 
s/[^a-zA-Z]/ /g 
# Split words into lines 
s/[  ][  ]*/\ 
/g ' "$f" | 
     # Remove blank lines 
     sed '/^$/d' | 
     # Sort the words 
     sort -u | 
     # Print words not in the dictionary 
     comm -23 - /usr/share/dict/words >/tmp/spell.$$.out 
     # See if errors were found 
     if [ -s /tmp/spell.$$.out ] 
     then 
       # Print file, number, and matching words 
       fgrep -Hno -f /tmp/spell.$$.out "$f" 
     fi 
done 
# Remove temporary file 
rm /tmp/spell.$$.out 
+0

+1 :: Anche se non è possibile ottenere i file di origine del sito, è possibile utilizzare wget -m (modalità mirror) per spider il luogo. – garrow

+0

Questo non esclude JavaScript e CSS incorporati nel codice HTML. – Liam

+0

Inoltre, alcune parole come "at" e "me" vengono visualizzate come parole con errori di ortografia anche se si trovano nel dizionario. – Liam

7

Lynx sembra essere bravo a ottenere solo il testo che ho bisogno (contenuto del corpo e alt text) e ignorando ciò che non ho bisogno (embedded Javascript e CSS).

lynx -dump http://www.example.com 

elenca anche tutti gli URL (convertito alla loro forma assoluta) nella pagina, che possono essere filtrati utilizzando grep:

lynx -dump http://www.example.com | grep -v "http" 

Gli URL potrebbero anche essere locali (file://) se ho usato wget per rispecchiare il sito.

Scriverò uno script che elaborerà un set di URL utilizzando questo metodo e restituirà ciascuna pagina a un file di testo separato. Posso quindi utilizzare una soluzione di controllo ortografico esistente per controllare i file (o un singolo file di grandi dimensioni che combina tutti i più piccoli).

Questo ignorerà il testo nel titolo e meta elementi. Questi possono essere controllati ortograficamente separatamente.

+2

Puoi usare wget -R per afferrare tutte le tue pagine web in modo ricorsivo. Quindi, esegui lynx sui file locali e controlli ortografici da lì. – strager

0

Utilizziamo il controllo ortografico RAD di Telerik nelle nostre applicazioni ASP.NET.

Telerik RAD Spell

0

Si consiglia di controllare una libreria come jspell.

2

Consiglio vivamente lo Inspyder InSite, È un software commerciale ma è disponibile una versione di prova, vale la pena. L'ho usato per anni per controllare l'ortografia dei siti Web dei clienti. Supporta l'automazione/pianificazione e può essere integrato con elenchi di parole personalizzati CMS. È anche un buon modo per controllare i collegamenti e generare report.

0

ho fatto un solo inglese correttore ortografico con Ruby qui: https://github.com/Vinietskyzilla/fuzzy-wookie

provarlo.

È la mancanza principale di un dizionario completo che include tutte le forme di ogni parola (plurale, non solo singolare; "ha", non solo "avere"). Sostituendo il tuo dizionario, se riesci a trovarne uno migliore, lo renderei davvero fantastico.


A parte questo, penso che il modo più semplice per eseguire il controllo ortografico di una singola pagina web è quello di premere Ctrl + A (o cmd + a) per selezionare tutto il testo, quindi copiarlo e incollarlo in una casella di testo su più righe su una pagina web. (Ad esempio <html><head></head><body><textarea></textarea></body></html>.) Il browser deve sottolineare tutte le parole errate.

+0

Oh, sì, questa seconda opzione non funzionerà troppo bene per "migliaia di pagine". –

0

@Anthony Roy Ho fatto esattamente quello che hai fatto. Condotto la pagina attraverso Aspell tramite Pyenchant. Ho dizionari inglesi (GB, CA, USA) da utilizzare sul mio sito https://www.validator.pro/. Contattatemi e configurerò un lavoro una tantum per voi per controllare 1000 pagine o più

Problemi correlati