роботодропбоксное
02.06.12 14:17 // оригинал
Некоторое время назад прикрутил к сайту регулярное скидывание бэкапов в дропбокс. Из подходящих клиентов под FreeBSD тогда больше всего приглянулся коротенький питоновский скрипт, основная прелесть которого заключалась в отсутствии необходимости тащить кучу зависимостей, ставить sdk и т.п.
Все прекрасно работало, но месяца полтора назад поломалось - в папку с очередным бэкапом вдруг упало гораздо меньше архивов, чем обычно. Полез разбираться - выяснилось, что скрипт честно логинится каждый раз через веб-форму, а дропбокс стал слишком нервно относиться к толпе идущих подряд попыток входа (хотя, казалось бы, какое ему дело, раз все эти попытки успешные). Плюясь на питон (язык, в котором количество пробелов в отступах является существенным элементом синтаксиса, вызывает у меня некоторую аллергию, особенно в сочетании с привычной настройкой всех моих редакторов под использование табов для отступов - да, это религиозное, я знаю), допилил скрипт под заливку целого каталога с единственным логином в самом начале.
Все опять же проработало некоторое время, пока очередная заливка бэкапов не обломилась с сообщением "HTTP Error 403: request disallowed by robots.txt". И правда, robots.txt там теперь лаконичный, с Disallow: / (поломанный таким образом клиент, между прочим, брался с родной страницы). Пока обошлось втыканием крайне неэтичной строчки br.set_handle_robots(False). Что-то в дропбоксе придумают в следующий раз?