Ну вариантов много.
Что касается Python, то вот примерный алгоритм для решения вашей задачи:
1) Берем модуль requests (для простоты)
2) запрашиваем через него заголовки для вашего файла (r = requests.head('
example.com'))
3) Сравниваем content-length с размером вашего файла
4) Если отличается, скачиваем файл
5) ...
6) Profit
P.S.: Wget и Curl тоже поддерживают получение только хедеров
для wget - это параметр "--server-response"
для curl - это параметр '-head'