Как сохранить html страницу в python
Перейти к содержимому

Как сохранить html страницу в python

  • автор:

Как сохранить html страницу без знаков вопроса?

Если открывать такой такой сайт после сохранения появляются знаки вопроса вместо текста или картинок.

Отслеживать
задан 5 дек 2022 в 0:39
17 1 1 серебряный знак 5 5 бронзовых знаков

Вообще ничего не появляется, даже знаки вопроса. Access denied Error code 1020 . В браузере то же самое. Если это сайт под логином и паролем, вряд ли SO сможет помочь.

5 дек 2022 в 1:19
open(‘file.html’, ‘w’, encoding=’utf-8′)
5 дек 2022 в 2:46

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

На Linux Ваш код сработает правильно. Скорее всего Вы выполняете его в Windows. А это значит, что файл создается в кодировке Windows-1251. А в html разметке в head указано, что файл браузер должен читать как utf-8. Необходимо немного изменить код:

import requests url = "https://www.templatemonster.com/ru/backgrounds/231926.html" r = requests.get(url) with open('file.html', 'w', encoding="utf-8") as file: file.write(r.text) 

Отслеживать
ответ дан 5 дек 2022 в 3:06
2,073 1 1 золотой знак 3 3 серебряных знака 11 11 бронзовых знаков
Так и есть.На линукс все работало нормально, а на виндовс нет.Спасибо.
5 дек 2022 в 20:10

  • python
  • html
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.26.3951

Сохранить как html, через python, как?

Здравствуйте ув. знатоки.
Сохраняю страницу через браузер как хтмл, сохраняет как надо, ссылки, теги и т.д.
Сохраняю через пайтон — в файле js код вместо ссылок.
Как сохранить через пайтон так же как через правую кнопку браузера без селениума?

  • Вопрос задан более трёх лет назад
  • 1144 просмотра

5 комментариев

Простой 5 комментариев

hottabxp

Сергей Карбивничий @hottabxp Куратор тега Python
Значит html код генерирует js. Дайте ссылку на сайт.
del4pp @del4pp Автор вопроса
Сергей Карбивничий, brain.com.ua

hottabxp

Сергей Карбивничий @hottabxp Куратор тега Python

5ed7f362c4ee3680549269.png

del4pp, Если вы про это:

так это json.

del4pp @del4pp Автор вопроса

Сергей Карбивничий, вот к примеру страница https://brain.com.ua/search?s=10750
Мне нужно получить ссылки на товары с поиска
После сохранения страницы — товары пропадают, если сохранять через «сохранить как» — все есть.

del4pp @del4pp Автор вопроса
Сергей Карбивничий, черз источник страницы такой же результат как при скачивании файла через пайтон.
Решения вопроса 2

SoreMix

soremix @SoreMix Куратор тега Python

Ваши товары отображаются после JS рендера. Обычные запросы на сайт (через requests и тд) не выполняют JS код. Как requests видит страницу можете посмотреть через CTRL + U. Если смотреть через RightClick -> Inspect Element, то вы видите уже отрендереный код.

Если нажать F12 -> Network, обновить страницу и открыть XHR запросы, будет видно, что все товары ищутся через запрос

https://brain.com.ua/search/1187/?Search=10750&Offset=0
https://brain.com.ua/search/142/?Search=10750&Offset=0

Где 1187 и 142 это категории, насколько я понимаю, а 10750 — ваш поисковой запрос. Оффсет понятно.

  1. Делать запросы по примеру как я отправил выше и парсить их товары с ответа
  2. Открывать нужную страницу через селениум и сохранять код. Думаю, в селениуме есть такой вариант

Ответ написан более трёх лет назад
del4pp @del4pp Автор вопроса
А можно в общем поиске без указаний категории?
del4pp @del4pp Автор вопроса
Так как 10750 — это код товара, категория которого заранее не известна

SoreMix

soremix @SoreMix Куратор тега Python

hottabxp

Сергей Карбивничий @hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Смотрите в браузере xhr запросы. Данные поиска подгружаются динамически.
Вот пример:

import json import requests from bs4 import BeautifulSoup headers = response = requests.get('https://brain.com.ua/search/1187/?Search=10750&Offset=0',headers=headers) j_data = json.loads(response.text) soup = BeautifulSoup(j_data['ProductsGrid'],'lxml') items = soup.find_all('div',class_='col-lg-3 col-md-4 col-sm-6 col-xs-6 product-wrapper br-pcg-product-wrapper') for item in items: url = 'https://brain.com.ua'+ item.find('h3').a.get('href') title = item.get('data-name') print(f' - ')

Получить HTML содержимое веб-страницы с помощью Python

Python предоставляет несколько способов сделать это в своей стандартной библиотеке . Вероятно, самый популярный способ загрузки файла — через HTTP с помощью модуля urllib . Метод urllib.request — это модуль Python для извлечения URL-адресов. Он предлагает очень простой интерфейс в виде функции urlopen. Это позволяет получать URL-адреса с использованием различных протоколов. urllib.request.urlopen() , откройте URL-адрес URL, который может быть строкой или объектом Request.

from urllib.request import urlopen html = urlopen("http://net-informations.com/about.htm") print(html.read())

(1 оценок, среднее: 5,00 из 5)

Похожие новости

Как вы отлаживаете программу на Python?

Как вы отлаживаете программу на Python?

Обработка XML-файлов Python

Обработка XML-файлов Python

Переменные и типы данных Python

Переменные и типы данных Python
  • Книги по 1С
  • Книги по Assembler
  • Книги по Android
  • Книги по C#
  • Книги по C++
  • Книги по CSS
  • Книги по Delphi
  • Книги по HTML
  • Книги по JavaScript
  • Книги по Java
  • Книги по MySql
  • Книги по Php
  • Книги по Python
  • Книги по Pascal

как сохранить index.html?

вы сохраняете ваш файл не в Google Chrome и там нельзя его найти.

Ваш файл html хранится на диске вашего компьютера. Чтобы сохранить html-документ (страницу, файл) вы в программе-редакторе кода выбираете сохранение в меню и далее выбираете вашу рабочую папку на диске компьютера куда сохранить и имя вашего файла. В итоге ваш файл сохраняется на Жесткий диск компьютера (HDD, SDD) в указанную папку с указанным именем файла.

Уже с диска вы можете открыть html-файл чтобы изменить его с помощью редактора кода и затем снова сохранить.

Или посмотреть html-страницу, открыв файл с помощью браузера, например Google Chrome. Чтобы открыть, нужно найти html-файл на диске (в Проводнике, например) и кликнуть на нем 2 раза, либо правой кнопкой мыши и выбрать Открыть с помощью — указать Google Chrome.

Html-файл загрузится с диска компьютера и отобразится его содержимое в браузере Google Chrome. В данном случае файл хранится на вашем компьютере и доступен через браузер локально только вам.

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

Рекомендую вам не полениться, уделить время несколько часов, поизучать базовую компьютерную грамотность, как работает компьютер, интернет, что такое диск, папки, файлы, как с ними работать попрактиковаться. и т.д. Простые вещи, но в наше время каждый это должен знать, тем более если изучать программирование.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *