必须具备:
必须在Linux上运行
必须允许定义过滤器(对于URL /服务器名称/域不检查; RegEx很好,简单的“子字符串”仍然可以)
必须允许对输出进行过滤(至少要“仅显示错误和警告”;越精细越好)
强烈推荐:
GUI和CLI界面(因此,我可以使用一个不错的界面手动运行它,也可以从Cron自动运行它-在这种情况下,如果可能,GUI应该能够加载“结果”)
一些统计信息
高效:
不应多次检查相同的URL(但是,如果损坏的报告每个找到的页面都报告它)
不应多次分析同一页面1
精确(尽可能少的“假阴性”)
很高兴:
能够指定要忽略的URL参数2
通过邮件发送(格式化的)报告(如果从Cron运行)3
能够扫描站点具有身份验证要求4
能够排除文件类型被扫描5
我已经尝试过:
gUrlChecker:看到GUI似乎可以满足所有要求。但是它忽略了所有过滤器设置(跳过主机/ URL;如果包括如何执行此示例,欢迎您回答-也许我做错了,或者我使用的gUrlChecker版本有错误)
LinkChecker:远不止许多“假阴性”(例如,报告A重定向到A,即重定向到自身;多次检查同一页面,并多次报告其错误,报告明显可访问的“无法访问的页面”(301、401) (没有“授权”),不对输出进行过滤(尽管显示“仅错误和警告”是可以接受的,但我希望它显示例如“仅错误”)。再次,这可能是同时解决的错误:作为gUrlChecker,我已经从Ubuntu仓库中安装了该仓库,这些仓库并不总是具有最新版本(哎呀,确实:仓库中的7.x,项目站点上的9.3 –将再次使用最新版本进行测试)
1:如果例如在扫描的站点上,页面A,B和C链接到Z(仍在扫描的服务器本身,即没有外部链接),则Z应该只扫描一次,而不是3我经历过的次数,例如使用LinkChecker
2:如果站点例如以多种语言提供相同的内容,则扫描所有语言是没有意义的变体(前提是它们上的链接相同)。所以我可以希望忽略
lang=XX
参数,并让链接检查器将a.php
,a.php?lang=en
和a.php?lang=de
视为同一页面。当然,如果lang
参数是可选的,则RegEx必备过滤器可能会解决此问题;)3:当然可以捕获Cron
STDERR
,所以该邮件的重点在于“格式化的” ”。那可能例如4:即那些要求访问用户名/密码的站点(HTTP响应代码401);是ODF计算表(然后可以使用OpenOffice / LibreOffice对其进行“过滤”)。我只是注意到LinkChecker添加了v7.9,gUrlChecker也能够做到这一点。这主要与要扫描的站点有关,而不必与外部链接有关(如果同时支持,则应单独配置)。
5:如果链接检查器是能够扫描PDF,MSWord,任何文档的内容,应该可以将其关闭:一个网站可能包含“旧文档版本”以供参考,其中“过时的链接”被视为“正常”。排除可以通过mime类型或文件扩展名进行。
#1 楼
由于没有建议,因此我最终使用了LinkChecker。虽然我列出的大多数问题仍然存在,但使用作者网站上的最新版本要比运行存储库中提供的版本更好。LinkChecker GUI和CLI(源:LinkChecker;单击图像查看较大的变体)
它如何满足我的要求
必须拥有
必须运行在Linux上:是的。
必须允许定义过滤器:部分。预过滤(即从支票中排除内容)在某种程度上是可能的,尽管并不总是直观的。我找不到在GUI中过滤结果列表的方法。
必须允许过滤输出:再次部分地,请参见上一项。一旦结果列表存在,就无法进行进一步的过滤。
强烈推荐
GUI和CLI界面:是(请参见上面的屏幕截图) 。甚至提供了Web界面(CGI)。
一些统计信息:不像我希望的那样详细,但是有些统计信息可用(请参阅GUI屏幕快照的右下角)
有效:有点。仍然有太多“重复项”
精确(尽可能少的“假阴性”):在这里我正在努力。还是有点烦人,我无法摆脱所有这些。对于“经验丰富的用户”来说可能是可能的-但是对于“初学者”来说绝对不直观
很高兴拥有指定要忽略的URL参数:在这里,我仅取得了部分成功。肯定有一些技巧,但我找不到它:可以定义要忽略的URL的模式,但是在某个时候,我已经停止尝试如何使用参数来进行操作:带有URL模式的“选项”窗口(单击较大的变体)
通过邮件发送(格式化的)报告(如果从Cron运行):由于GUI的效果不尽人意,因此我对此不作进一步检查。 />
能够扫描具有身份验证要求的站点:尚未经过全面测试,但这似乎可能–可以在
linkcheckerrc
文件中进行配置:[authentication]
# Different user/password pairs for different URLs can be provided.
[…]
排除文件类型的能力不会被扫描:我没有处理这个问题,因为LinkChecker似乎没有遇到它可以扫描的任何PDF或其他文件格式。我正在寻找,LinkChecker距我很近-很有可能离我越近。如果您遇到了更符合我需求的东西,我期待其他选择:)
评论
您是否尝试过Xenu将侦探与酒联系起来?
– Nivatius
18-09-18在7:35
@Nivatius不,我只对本机解决方案感兴趣,因此Wine毫无疑问。
– Izzy♦
'18 Sep 19'在19:15