hydra link checker
1.0.0
一个Python计划爬行Slithers?链接的网站并打印了链接破裂的YAML报告。
Python 3.6或更高。
没有外部依赖性,neo。
$ python hydra.py -h
usage: hydra.py [-h] [--config CONFIG] URL位置论点:
URL :网站爬网的URL。确保URL绝对是架构,例如https://example.com 。可选参数:
-h , --help :显示帮助消息和退出--config CONFIG , -c CONFIG :配置文件的路径损坏的链接报告将输出到Stdout,因此您可能希望将其重定向到文件。
该报告将以YAML格式化。要将输出保存到文件中,请运行:
python hydra.py [URL] > [PATH/TO/FILE.yaml]您可以使用命令替换将当前日期添加到文件名中,例如:
python hydra.py [URL] > /path/to/ $( date ' +%Y_%m_%d ' ) _report.yaml要查看HYDRA需要多长时间检查您的网站,请添加time :
time python hydra.py [URL]您可以使用Link-Snitch动作轻松地将HYDRA作为自动化过程的一部分合并。
Hydra可以接受特定参数的可选JSON配置文件,例如:
{
"OK" : [
200 ,
999 ,
403
],
"attrs" : [
" href "
],
"exclude_scheme_prefixes" : [
" tel "
],
"tags" : [
" a " ,
" img "
],
"threads" : 25 ,
"timeout" : 30 ,
"graceful_exit" : " True "
}要使用配置文件,请提供文件名:
python hydra.py https://example.com --config ./hydra-config.json可能的设置:
OK - HTTP响应代码将作为成功的链接检查。默认为[200, 999] 。attrs HTML标签的属性要检查链接。默认为["href", "src"] 。exclude_scheme_prefixes -HTTP方案前缀要排除在检查之外。默认为["tel:", "javascript:"] 。tags - HTML标签要检查链接。默认为["a", "link", "img", "script"] 。threads - 最大的工人运行。默认为50 。timeout - 最多等待HTTP响应。默认为60 。graceful_exit如果设置为True ,并且存在损坏的链接,则返回exit code 0 else exit code 1 。 跑步:
python -m unittest tests/test.py