Как вы проверяете орфографию на сайте?
Я знаю, что проверки орфографии не идеальны, но они становятся более полезными по мере увеличения размера текста. Как я могу проверить орфографию сайта, который имеет тысячи страниц?
Изменить: Из-за сложной обработки на стороне сервера, единственный способ получить страницы через 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 своего сайта на главной странице, чтобы понять, как он будет сообщать об ошибках правописания.
но я уверен, что есть несколько бесплатных альтернатив.
Вы можете сделать это с помощью сценария оболочки, объединяющего 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.
Используйте шаблоны (хорошо) с вашим веб-приложением (если вы программируете сайт, а не просто пишете html) и html-редактор, который включает проверку орфографии. Затмение делает, например.
Если по какой-то причине это невозможно... да, wget для загрузки готовых страниц и что-то вроде этого: