Как сохранить "полную веб-страницу" не только базовый html с помощью Python
2 ответов
попробуйте эмулировать свой браузер с помощью селен. Этот скрипт будет всплывать save as
диалоговое окно веб-страницы. Вам все равно придется выяснить, как эмулировать нажатие enter для загрузки, чтобы начать, поскольку диалоговое окно файла находится вне досягаемости selenium (как вы это делаете, также зависит от ОС).
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
br = webdriver.Firefox()
br.get('http://www.google.com/')
save_me = ActionChains(br).key_down(Keys.CONTROL)\
.key_down('s').key_up(Keys.CONTROL).key_up('s')
save_me.perform()
также я думаю, что после @Amber предложение захвата связанных ресурсов может быть более простым, поэтому лучшим решением. Тем не менее, я думаю, что использование Селена хорошая отправная точка, как br.page_source
вы получите весь dom вместе с динамическим контентом, генерируемым javascript.
вы можете легко сделать это с помощью простой библиотеки python "pywebcopy"
import pywebcopy pywebcopy.core.save_webpage('http://www.vodafone.de/privat/tarife/red-smartphone-tarife.html')
готово!
у вас будет полная веб-страница в следующей папке
C:\WebCopyProjects\vodafone.de\
вы можете изменить это местоположение, пройдя mirrors_dir='your-choice-location
to init
звонок..
Бывший.
from pywebcopy.core import save_webpage save_webpage( url = 'http://your-site.com/', mirrors_dir = 'your-choice-location` )
вы будете иметь html, css, js все на вашем-выбор-месте. Полностью работает как оригинальный сайт..