Есть ли у python какой-либо способ загрузки всей html-страницы и ее содержимого (изображений, css) в локальную папку с указанием URL-адреса. И обновление локального файла html для локального выделения контента.
Загрузите страницу html и ее содержимое
Ответ 1
Вы можете использовать модуль urllib
для загрузки отдельных URL-адресов, но это просто вернет данные. Он не будет анализировать HTML и автоматически загружать такие вещи, как файлы CSS и изображения.
Если вы хотите загрузить "целую" страницу, вам нужно будет проанализировать HTML и найти другие вещи, которые вам нужно скачать. Вы можете использовать что-то вроде Beautiful Soup для анализа полученного вами HTML-кода.
Этот вопрос содержит пример кода, который делает именно это.
Ответ 2
То, что вы ищете, является зеркальным инструментом. Если вы хотите один в Python, PyPI перечисляет spider.py, но у меня нет опыта с ним. Другие могут быть лучше, но я не знаю. Я использую "wget", который поддерживает получение CSS и изображений. Это, вероятно, делает то, что вы хотите (цитируя руководство)
Извлеките только одну HTML-страницу, но сделайте что все элементы, необходимые для страница, которая будет отображаться, например встроенные изображения и внешний стиль листы, также загружаются. Также сделайте обязательно загруженные ссылки на страницы загруженные ссылки.
wget -p --convert-links http://www.server.com/dir/page.html
Ответ 3
Вы можете использовать urlib:
import urllib.request
opener = urllib.request.FancyURLopener({})
url = "http://stackoverflow.com/"
f = opener.open(url)
content = f.read()