你怎么拼写检查网站?

时间:2009-02-25 11:01:05

标签: spell-checking

我知道拼写检查不完美,但随着文字数量的增加,它们会变得更有用。如何拼写检查有数千页的网站?

编辑:由于复杂的服务器端处理,我获取页面的唯一方法是通过HTTP。它也不能外包给第三方。

编辑:我有一个网站上我需要检查的所有网址列表。

11 个答案:

答案 0 :(得分:7)

Lynx似乎善于获取我需要的文本(正文内容和替代文字)并忽略了我不需要的内容(嵌入式Javascript和CSS)。

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

它还列出了页面中的所有URL(转换为它们的绝对形式),可以使用grep过滤掉它们:

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

如果我使用wget来镜像网站,那么网址也可以是本地的(file://)。

我将编写一个脚本,使用此方法处理一组URL,并将每个页面输出到单独的文本文件。然后,我可以使用现有的拼写检查解决方案来检查文件(或组合所有小文件的单个大文件)。

这将忽略title和meta元素中的文本。这些可以单独拼写。

答案 1 :(得分:3)

在我发现Spello web site spell checker之前的几天。它用我的 NHunspell (Open office Spell Checker for .NET)图书馆。你可以尝试一下。

答案 2 :(得分:2)

如果您可以将网站的内容作为文件访问,您可以编写一个小型的Unix shell脚本来完成这项工作。以下脚本将打印文件名,行号和拼写错误的单词。输出的质量取决于系统字典的质量。

#!/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

答案 3 :(得分:2)

我高度推荐Inspyder InSite,这是商业软件,但他们有试用版,非常物有所值。我已经用它多年来检查客户网站的拼写。它支持自动化/日程安排,并可与CMS自定义单词列表集成。它也是链接检查和生成报告的好方法。

答案 4 :(得分:1)

您可以使用将wget与aspell结合使用的shell脚本来完成此操作。您是否考虑过编程环境?

我个人使用带有Beautiful Soup的python从标签中提取文本,并通过aspell管道文本。

答案 5 :(得分:1)

如果它是一次性的,并且由于要检查的页数,可能值得考虑像spellr.us这样的东西,这将是一个快速的解决方案。您可以在主页上输入您的网站网址,以了解它如何报告拼写错误。

http://spellr.us/

但我确信有一些免费的替代品。

答案 6 :(得分:0)

将模板(井)与您的webapp一起使用(如果您正在编写网站而不是仅编写html),以及包含拼写检查的html编辑器。 Eclipse确实如此。

如果出于某种原因这是不可能的......是的,要下载完成的页面,以及类似的内容:

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

答案 7 :(得分:0)

我们在ASP.NET应用程序中使用Telerik RAD Spell控件。

Telerik RAD Spell

答案 8 :(得分:0)

您可能想要查看像jspell这样的库。

答案 9 :(得分:0)

我在这里用Ruby创建了一个仅限英语的拼写检查程序:https://github.com/Vinietskyzilla/fuzzy-wookie

尝试一下。

它的主要缺点是缺少一个包含每个单词的所有形式的完整字典(复数,不仅仅是单数;'有',而不仅仅是'有')。替换你自己的字典,如果你能找到或做出更好的字典,就会让它变得非常棒。


除此之外,我认为拼写检查单个网页的最简单方法是按ctrl + a(或cmd + a)选择所有文本,然后将其复制并粘贴到网页上的多行文本框中。 (例如<html><head></head><body><textarea></textarea></body></html>。)您的浏览器应该在任何拼写错误的单词下划线。

答案 10 :(得分:0)

@Anthony Roy我已经完成了你所做的事情。通过Pyenchant通过Aspell传送页面。我在我的网站https://www.validator.pro/上使用英语词典(GB,CA,US)。联系我,我将为你设置1000页或更多的一次性工作