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