Comments 11
Обычным wget также можно скачать сайт....
Что-то параметров маловато. Например, в HTTrack, Teleport и т.п. можно указывать маску файлов для скачивания, глубину перехода по ссылкам и кучу всего ещё.
save_website() — позволяет копировать сайт целиком
Да-да, но только если сайт статический и не блокирует массовое скачивание. А вот если у него контент динамически в браузере формируется всякими jquery — тады ой.
Интересно, а ЯндексДзен скачать получится? С комментариями...
И можно ли задавать только определенного пользователя?
В большинстве случаев для доступа к определенной странице требуется аутентификация. Это легко сделать, потому что pywebcopy использует requests.Session объект для базовой http-активности, доступ к которому можно получить через WebPage.session атрибут. И, как вы знаете, существует множество руководств по настройке аутентификации с помощью requests.Session.
Вот пример заполнения форм:
from pywebcopy.configs import get_config
config = get_config('http://httpbin.org/')
wp = config.create_page()
wp.get(config['project_url'])
form = wp.get_forms()[0]
form.inputs['email'].value = 'bar' # etc
form.inputs['password'].value = 'baz' # etc
wp.submit_form(form)
wp.get_links()
Внутри стандартный request, то есть только текст получится в архиве, никакого вам js и тп.
wget -rkpNc -e robots=off http://example.com
Скачивание любого сайта с помощью Python себе на компьютер