Этот скрипт позволяет извлечь исходный код оформления со страницы, автоматически перенося все изображения на локальный хостинг (сейчас это http://file.kirovnet.ru/).
Поддерживаются трекеры и форумы на не слишком сильно изменённых движках TorrentPier и TBDev.
Здесь предполагается, что у вас Win*. Пользователи *nix переходят к следующему разделу.
Подготовка:
- Для начала вам понадобится Python 2.7
- Скачайте архив со скриптами, нажав на большую кнопку "Файлы" ("Downloads") cверху справа от этого текста.
- Распакуйте архив в отдельную папочку.
Для удобства можно сделать ярлыки к файлам
getbb.py
иrehost.py
и положить их поудобнее, а сами файлы оставить в покое.
Использование:
- Сохраните страницу, откуда хотите взять оформление, себе на диск.
- Бросьте мышкой (drag&drop) файл страницы на файл
getbb.py
(или на ярлык). - После завершения процесса откроется блокнот с текстом оформления.
Если что-то пошло не так, используйте консоль. Если всё совсем плохо, свяжитесь со мной.
getbb.py [-h] [-o OUTPUT] [-c N] [-nr] [-nt] [-no] target target ссылка на целевую страницу или путь к соответствующему HTML-файлу -h, --help вывести справку -o имя текстового файла, в который выводится код оформления (по-умолчанию out.txt). -c N указывает количество постов для разбора, по-умолчанию N = 1 -nr, --no-rehost не использовать функционал rehost -nt, --no-thumb не исправлять миниатюры -no, --no-open не открывать блокнот по окончании
В getbb встроена поддержка многопоточной загрузки изображений, что значительно ускоряет процесс переноса изображений на локальный хостинг.
Для того, чтобы эта фича заработала, достаточно установить gevent.
В некоторых исходниках иногда в качестве миниатюр используются либо сами изображения (при этом "миниатюрами" они сделаны через CSS-свойства), либо слишком мелкие/обрезанные картинки. В таких случаях возможна автоматическая генерация новых, качественных миниатюр.
Для того, чтобы эта фича заработала, достаточно установить Python Imaging Library (PIL) (бинарники для винды - здесь).
Этот скрипт может работать отдельно от getbb
в качестве
быстрого способа закинуть файл-другой на file.kirovnet.ru.
Под виндой работает drag&drop.
Интерфейс командной строки:
python rehost.py [-h] [-o OUTPUT] [-i] [-nc] [-fc] target [target ...] target URL или локальные пути файлов -h, --help вывести справку -o выводить список ссылок в файл (по-умолчанию - в консоль) -i, --image предположить, что по ссылке картинка или страница с картинкой, и попытаться найти прямую ссылку на неё (этим пользуется getbb) -nc, --no-cache не использовать функционал кэша ссылок -fc, --force-cache кэшировать в том числе и ссылки на локальные файлы
Примерный список того, что можно сделать:
- придумать формат для правил замены, вынести их в отдельный файл
- переписать под BeautifulSoup или lxml (я не хотел зависеть от сторонних библиотек, поэтому парсинг HTML написан вручную на регэкспах).
- переписать под python3k с сохранением совместимости (но gevent пока только для 2.x?)
- GUI
- ...
Если у кого-то есть желание сделать что-нибудь (неважно, из этого списка или нет), делайте форк или шлите патч. Желательно соблюдать, по возможности, PEP8 и писать комментарии по-английски.
Если у вас есть, что сказать, можно написать мне в личку или постучаться в IRC (irc.kirovnet.ru #megapirat).