我知道拼写检查不完美,但随着文字数量的增加,它们会变得更有用。如何拼写检查有数千页的网站?
编辑:由于复杂的服务器端处理,我获取页面的唯一方法是通过HTTP。它也不能外包给第三方。
编辑:我有一个网站上我需要检查的所有网址列表。
答案 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这样的东西,这将是一个快速的解决方案。您可以在主页上输入您的网站网址,以了解它如何报告拼写错误。
但我确信有一些免费的替代品。
答案 6 :(得分:0)
将模板(井)与您的webapp一起使用(如果您正在编写网站而不是仅编写html),以及包含拼写检查的html编辑器。 Eclipse确实如此。
如果出于某种原因这是不可能的......是的,要下载完成的页面,以及类似的内容:
答案 7 :(得分:0)
我们在ASP.NET应用程序中使用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)