# Excel URL Checker
Скрипт для массовой проверки сайтов из Excel файла. Читает ссылки, ходит на них, сохраняет результат.
## Возможности
- Чтение ссылок из Excel (колонка 'url')
- Мультипоточная проверка (ускорение в 10-20 раз)
- Отслеживание редиректов (показывает финальный URL)
- Вытаскивает заголовки страниц (тайтлы)
- Сохраняет результат в Excel и CSV
- Отдельный файл с битыми ссылками
- Статистика в консоль
## Установка
```bash
pip install pandas requests openpyxlИспользование
Подготовьте Excel файл с колонкой url. Запустите:
python checker.py links.xlsx my_resultПараметры:
python checker.py [входной_файл] [выходной_файл] --timeout 15 --workers 20· --timeout - таймаут в секундах (по умолчанию 10) · --workers - количество потоков (по умолчанию 10)
Пример вывода
Читаю файл: links.xlsx
Найдено ссылок: 100
Статистика:
Работают: 85
Битые (404): 8
Ошибки: 7
С редиректами: 12
Результат: result.xlsx
Битые ссылки сохранены в result_broken.xlsx
Выходные файлы
· result.xlsx - полный отчет · result.csv - полный отчет в CSV · result_broken.xlsx - только проблемные ссылки
Структура результата
колонка описание исходный_url ссылка из файла статус 200, 404 или ошибка тайтл заголовок страницы финальный_url куда привел редирект число_редиректов сколько было прыжков ошибка текст ошибки
Лицензия
Для портфолио
## 🎯 Для кого этот инструмент
- **SEO-специалисты** — массовая проверка беклинков на битые ссылки.
- **Владельцы сайтов** — аудит партнерских и внешних ссылок.
- **Маркетологи** — сбор и проверка данных о конкурентах.
## 📊 Пример результата
| исходный_url | статус | тайтл | финальный_url | число_редиректов |
|-------------|--------|-------|---------------|------------------|
| https://ya.ru | 200 | Яндекс — быстрый поиск в интернете | https://ya.ru/?nr=1&redirect_ts=... | 1 |
| https://google.com | 200 | Google | https://www.google.com/ | 1 |
| https://httpbin.org/status/404 | 404 | (нет) | https://httpbin.org/status/404 | 0 |
| https://httpbin.org/redirect/2 | 200 | (нет) | https://httpbin.org/get | 2 |
| https://asdasd.ru | ошибка | (нет) | (нет) | 0 |