Как вы проверяете орфографию на сайте?

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

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

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

11 ответов

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

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

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

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

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

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

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

Всего за несколько дней до того, как я обнаружил Spelllo проверки правописания на веб-сайте. Он использует мою библиотеку NHunspell (Open Spell Checker for .NET). Вы можете попробовать.

Если вы можете получить доступ к содержимому сайта в виде файлов, вы можете написать небольшой скрипт оболочки 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

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

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

http://spellr.us/

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

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

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

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

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

Попробуйте это.

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


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

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

Telerik RAD Spell

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

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

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

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

Другие вопросы по тегам