Как сохранить 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 Куратор тега Python
Значит html код генерирует js. Дайте ссылку на сайт.
del4pp @del4pp Автор вопроса
Сергей Карбивничий, brain.com.ua

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

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

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 — ваш поисковой запрос. Оффсет понятно.
- Делать запросы по примеру как я отправил выше и парсить их товары с ответа
- Открывать нужную страницу через селениум и сохранять код. Думаю, в селениуме есть такой вариант
Ответ написан более трёх лет назад
del4pp @del4pp Автор вопроса
А можно в общем поиске без указаний категории?
del4pp @del4pp Автор вопроса
Так как 10750 — это код товара, категория которого заранее не известна

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

Сергей Карбивничий @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?
![]()
Обработка XML-файлов 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-страница) могут быть доступны в интернет вам и любому другому человеку подключенному к интернет.
Рекомендую вам не полениться, уделить время несколько часов, поизучать базовую компьютерную грамотность, как работает компьютер, интернет, что такое диск, папки, файлы, как с ними работать попрактиковаться. и т.д. Простые вещи, но в наше время каждый это должен знать, тем более если изучать программирование.