Program Python itu merangkak Slithers? Situs web untuk tautan dan mencetak laporan YAML tentang tautan yang rusak.
Python 3.6 atau lebih tinggi.
Tidak ada dependensi eksternal, Neo.
$ python hydra.py -h
usage: hydra.py [-h] [--config CONFIG] URLArgumen Posisi:
URL : URL situs web untuk merangkak. Pastikan URL mutlak termasuk skema, misalnya https://example.com .Argumen opsional:
-h , --help : tunjukkan pesan bantuan dan keluar--config CONFIG , -c CONFIG : Path to a Configuration FileLaporan Tautan yang rusak akan menjadi output ke stdout, jadi Anda mungkin ingin mengarahkan ini ke file.
Laporan akan diformat YAML. Untuk menyimpan output ke file, jalankan:
python hydra.py [URL] > [PATH/TO/FILE.yaml]Anda dapat menambahkan tanggal saat ini ke nama file menggunakan substitusi perintah, seperti:
python hydra.py [URL] > /path/to/ $( date ' +%Y_%m_%d ' ) _report.yaml Untuk melihat berapa lama Hydra untuk memeriksa situs Anda, tambahkan time :
time python hydra.py [URL]Anda dapat dengan mudah memasukkan Hydra sebagai bagian dari proses otomatis menggunakan tindakan tautan-snitch.
Hydra dapat menerima file konfigurasi JSON opsional untuk parameter tertentu, misalnya:
{
"OK" : [
200 ,
999 ,
403
],
"attrs" : [
" href "
],
"exclude_scheme_prefixes" : [
" tel "
],
"tags" : [
" a " ,
" img "
],
"threads" : 25 ,
"timeout" : 30 ,
"graceful_exit" : " True "
}Untuk menggunakan file konfigurasi, berikan nama file:
python hydra.py https://example.com --config ./hydra-config.jsonPengaturan yang mungkin:
OK - kode respons HTTP untuk dipertimbangkan sebagai pemeriksaan tautan yang berhasil. Default ke [200, 999] .attrs - Atribut tag HTML untuk memeriksa tautan. Default ke ["href", "src"] .exclude_scheme_prefixes - Awalan skema http untuk dikecualikan dari pemeriksaan. Default ke ["tel:", "javascript:"] .tags - Tag HTML untuk memeriksa tautan. Default ke ["a", "link", "img", "script"] .threads - Pekerja maksimum untuk dijalankan. Default ke 50 .timeout - Maksimal detik untuk menunggu respons HTTP. Default ke 60 .graceful_exit - Jika diatur ke True , dan ada tautan rusak sekarang kembali exit code 0 Lain Kembali exit code 1 . Berlari:
python -m unittest tests/test.py