2009-02-25 2 views
28

Я знаю, что проверки орфографии не идеальны, но они становятся более полезными, поскольку количество текста у вас увеличивается в размере. Как я могу проверить право на сайт с тысячами страниц?Как вы можете проверить сайт?

Редактировать: Из-за сложной обработки на стороне сервера, единственный способ получить страницы - через HTTP. Также он не может быть передан сторонним сторонним организациям.

Редактировать: У меня есть список всех URL-адресов на сайте, которые мне нужно проверить.

ответ

0

Вы можете сделать это с помощью сценария оболочки, объединяющего wget с aspell. У вас была проблема программирования?

Я лично использовал python с Beautiful Soup, чтобы извлечь текст из тегов и передать текст через aspell.

1

Если его один, и из-за количества страниц, чтобы его проверить, возможно, стоит рассмотреть somthing как spellr.us, который был бы быстрым решением. Вы можете вводить URL-адрес своего веб-сайта на главной странице, чтобы понять, как он будет сообщать о орфографических ошибках.

http://spellr.us/

, но я уверен, что есть несколько бесплатных альтернатив.

0

Используйте шаблоны (ну) с помощью вашего webapp (если вы программируете сайт вместо простого написания html) и html-редактор, который включает проверку орфографии. Eclipse делает для одного.

Если это не возможно, по какой-то причине ... да, Wget для загрузки готовых страниц, и что-то вроде этого:

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

2

Если вы можете получить доступ к содержимому сайта в виде файлов, вы можете написать небольшой скрипт оболочки Unix, который выполняет эту работу. Следующий скрипт напечатает имя файла, номер строки и слова с ошибками. Качество вывода зависит от качества словаря вашей системы.

#!/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 :: Даже если вы не можете получить исходные файлы сайта, вы можете использовать wget -m (зеркальный режим), чтобы развернуть сайт. – garrow

+0

Это не отфильтровывает JavaScript и CSS, встроенные в HTML. – Liam

+0

Кроме того, некоторые слова типа «at» и «me» выводятся как слова с ошибками, даже если они находятся в словаре. – Liam

7

Lynx, кажется, хорошо получать только текст, мне нужно (содержание тела и альтернативный текст) и игнорируя то, что мне не нужно (встроенный Javascript и CSS).

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

Он также содержит список всех URL-адреса (преобразованный в их абсолютную форму) на странице, которые могут быть отфильтрованы с помощью Grep:

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

URL-адрес также может быть локальным (file://), если у меня есть используется wget для зеркалирования сайта.

Я напишу скрипт, который будет обрабатывать набор URL-адресов, используя этот метод, и выводит каждую страницу в отдельный текстовый файл. Затем я могу использовать существующее решение проверки орфографии для проверки файлов (или одного большого файла, объединяющего все мелкие).

Это будет игнорировать текст в заголовке и мета-элементах. Они могут быть проверены орфографически отдельно.

+2

Вы можете использовать wget -R, чтобы рекурсивно перехватить все ваши веб-страницы. Затем запустите lynx в локальных файлах и проверите проверку орфографии. – strager

0

Мы используем элемент управления Telerik RAD Spell в наших приложениях ASP.NET.

Telerik RAD Spell

0

Вы можете проверить библиотеку как jspell.

3

Только что за несколько дней до того, как я обнаружил Spello web site spell checker. Он использует мой NHunspell (Open office Spell Checker for .NET) libaray. Вы можете попробовать.

+0

Не работает для меня. Просто печатает URL-адрес и останавливается. –

+0

Только кажется, что вы хотите проверить URL-адреса HTTP (т. Е. Не HTTPS). Отлично работает. – imallett

2

Я очень рекомендую Inspyder InSite, это коммерческое программное обеспечение, но у них есть пробная версия, это стоит денег. Я использовал его в течение многих лет, чтобы проверить правописание клиентских сайтов. Он поддерживает автоматизацию/планирование и может интегрироваться с списками пользовательских слов CMS. Это также хороший способ проверки ссылок и генерации отчетов.

0

Я сделал только на английском языке для проверки орфографии с Рубином здесь: https://github.com/Vinietskyzilla/fuzzy-wookie

Попробуйте.

Основной недостаток - отсутствие полного словаря, который включает в себя все формы каждого слова (множественное число, а не только единственное, «имеет», а не только «иметь»). Подставляя свой собственный словарь, если вы можете найти или сделать лучший, сделайте его действительно потрясающим.


Это в стороне, я думаю, самый простой способ проверки орфографии один веб-страницы, чтобы нажать CTRL + A (или Cmd + а), чтобы выбрать весь текст, а затем скопировать и вставить его в многострочное текстовом поле веб-страницу. (Например, <html><head></head><body><textarea></textarea></body></html>.) Ваш браузер должен подчеркнуть любые слова с ошибками.

+0

О, да, этот второй вариант не будет работать слишком хорошо для «тысяч страниц». –

0

@ Энтони Рой Я сделал именно то, что вы сделали. Проложил страницу через Аспелл ​​через Пиренант. У меня есть английские словари (GB, CA, US) для использования на моем сайте https://www.validator.pro/. Свяжитесь со мной, и я настрою одноразовую работу для проверки 1000 страниц или более.

Смежные вопросы