Комментарии 5
Еще можно использовать owasp zap — в нем есть несколько модулей для краулинга сайтов, гибкая настройка и приятный бонус в виде удобной АПИшки, которая позволит работать в терминале
Спасибо за обзор, попробую.
HTTrack кстати пробовал (с GUI-оберткой), не понравилось. Как-то все криво и косо, да и работает не очень.
Раньше был Teleport Pro/Teleport Ultra, но теперь он большую часть сайтов просто не качает — вероятно, что-то современное в http(s) ему не доступно.
Еще вспоминаю одну старую (времен Windows98) программу под названием DiscoPumper (ДискоКачалка) — маленькая и удобная, там есть уникальная фича — команды «углубить» и «не читать» в дереве ссылок, что позволяло скачивать не весь сайт, а выборочно, анализируя структуру сайта на ходу, отсекая ненужные части и углубляя нужные.
Поскольку она на движке IE, то как ни странно, до сих пор работает. Жалко что открытых исходников нет.
HTTrack кстати пробовал (с GUI-оберткой), не понравилось. Как-то все криво и косо, да и работает не очень.
Раньше был Teleport Pro/Teleport Ultra, но теперь он большую часть сайтов просто не качает — вероятно, что-то современное в http(s) ему не доступно.
Еще вспоминаю одну старую (времен Windows98) программу под названием DiscoPumper (ДискоКачалка) — маленькая и удобная, там есть уникальная фича — команды «углубить» и «не читать» в дереве ссылок, что позволяло скачивать не весь сайт, а выборочно, анализируя структуру сайта на ходу, отсекая ненужные части и углубляя нужные.
Поскольку она на движке IE, то как ни странно, до сих пор работает. Жалко что открытых исходников нет.
Для больших объемов (не один сайт) есть настоящие краулеры:
- https://github.com/LAW-Unimi/BUbiNG/ — BUbiNG — разработка университета Милана, умеет сохранять в WARC формат (Java)
- https://github.com/DigitalPebble/storm-crawler — Strom Crawler — разработка DigitalPeble — хороший масштабируемый краулер — конструктор (Java)
- https://frontera.readthedocs.io/en/latest/topics/overview.html — Frontera — отличный масштабируемый фреймворк для построения краулеров (Python)
- http://nutch.apache.org/ — Nutch — один из долгожителей, основа CommonCrawl
На базе 2-го и 3-го сделано огромное количество коммерческих поделок, но в каждом из этих четырых есть масса интересных идей, которых я нигде не встречал. Например, в BUbiNG используется bloom фильтр для снижения нагрузки при обнаружении новых ссылок.
А сайт во время краулинга, наверное, напевает «Сrawling in my skin, These wounds they will not heal ...».
Ох уж этот новояз.
Ох уж этот новояз.
Лет 20 назад начинал с программы Teleport Pro 1.72 (если кто помнит). Затем перешел на "Offline Explorer 8" — платная. Кто интересуется темой parse / scraping см. в гугле по запросу Offline Browsers — целый зоопарк этого класса программ и обзоров на них.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
5 способов краулинга веб-сайта