Загрузите страницу HTML и ее содержание

Делает Python, имеют любой способ загрузить всю страницу HTML и ее содержание (изображения, CSS) к локальной папке, учитывая URL. И обновление локального файла HTML для выбора содержания локально.

39
задан Liam 22 June 2015 в 15:31
поделиться

3 ответа

Вы можете использовать модуль urllib для загрузки отдельных URL-адресов, но он просто вернет данные. Он не будет анализировать HTML и автоматически загружать такие вещи, как файлы CSS и изображения.

Если вы хотите загрузить "всю" страницу, вам нужно будет проанализировать HTML и найти другие вещи, которые вам нужно загрузить.

37
ответ дан 27 November 2019 в 02:45
поделиться

Вам нужен инструмент зеркального отображения. Если вам нужен такой вариант на Python, PyPI перечислит spider.py , но у меня нет опыта с этим. Другие могут быть лучше, но я не знаю - я использую wget, который поддерживает получение CSS и изображений. Это, вероятно, делает то, что вы хотите (цитата из руководства )

Получить только одну HTML-страницу, но сделать убедитесь, что все элементы, необходимые для страница для отображения, например встроенные изображения и внешний стиль листы, также скачиваются. Также сделайте убедитесь, что загруженная страница ссылается загруженные ссылки.

wget -p --convert-links http://www.server.com/dir/page.html
11
ответ дан 27 November 2019 в 02:45
поделиться

Вы можете использовать urlib:

import urllib.request

opener = urllib.request.FancyURLopener({})
url = "http://stackoverflow.com/"
f = opener.open(url)
content = f.read()
6
ответ дан 27 November 2019 в 02:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: