Запись html в файл
У меня есть парсер он щелкает по вкладкам на странице поиска, нужно сделать чтоб заходя на вкладку он копировал html код из body сайты не известны,что в поиске нашел по запросу вот с первой и захожу. Нашел много всего с помощью requests и BS, но везде там под конкретную ссылку типо:
from bs4 import BeautifulSoup import requests r = requests.get("https://stackoverflow.com/questions/47503845) data = r.text soup = BeautifulSoup(data) print(soup) with open ('/tmp/test.html', 'a') as f: f.write(str(soup))
Отслеживать
7,797 13 13 золотых знаков 25 25 серебряных знаков 55 55 бронзовых знаков
Как правильно записать данные в html файл, используя Python?
Есть простой код, писал в vs code. Я взял уже существующую страницу HTML, сохранил ее как текст и теперь при попытке записать данные в свой HTML файл возникает проблема: вопросики вместо кириллицы. Так вот как их убрать??
Кодировка на сайте utf-8
в vs-code — тоже
Пробовал скачивать всю страницу через pywebcopy, но такой способ мне не совсем подходит
import requests url = "https://health-diet.ru/table_calorie/" req = requests.get(url) src = req.text index = open("index.html", "w") index.write(src)

- Вопрос задан 19 июн. 2023
- 202 просмотра
Python-сообщество
![]()
- Начало
- » Python для новичков
- » Запись html в файл
#1 Май 2, 2012 17:11:06
zipsetic Зарегистрирован: 2012-04-04 Сообщения: 29 Репутация: 1 Профиль Отправить e-mail
Запись html в файл

Здравствуйте!
Вот есть небольшая проблемка с записью html кода web сайта в текстовый файл…
Программка запрашивает у пользователя url, затем спрашивает его о дальнейших действиях(функциях), одна из которых — запись html в текстовый файл
Ну вот собственно…
from urllib.request import urlopen def page(url): ''' Читает исходник из переданного аргумента(адреса) ''' return urlopen(url).read() # Вернуть исходник def printer(): ''' Выводит весь исходный код в командную строку ''' print(get_url) def record_file(): ''' Записывает исходник в файл ''' f_url = open("%s %s" % (just,".txt"), "w") # Открыть текстовый файл для записи f_url.write(get_url) # Записать в файл исходник(из get_url) f_url.close # Закрыть l_demo = [] # Создать пустой словарь while 1: # Бесконечный цикл. try: ent_url = input("Введите url адрес, в виде www.python.org. ") # Запрос адреса just = ent_url # Запомнить введенный адрес в переменной just l_demo.append(ent_url) # Добавить его в словарь print(l_demo, "Минутку. ") # Вывести содержимое словаря и сообщение if l_demo[0][:7] == 'http://': # Если протокол введен. get_url = page(l_demo[0]) # Передать адрес функции page() и создать объект функции print("Все верно. ") else: fixed = "http://" + l_demo[0] # Если не введен, добавить путем создания новой переменной get_url = page(fixed) # Так же передать адрес функции page() print("Ага. ") l_demo.remove(ent_url) # Удалить адрес из словаря except: # Адрес введен неверно print("Адрес не действителен!") rec_out = input("Записать исходник в файл или вывести тут? \nВведите для выбора: R/O") if rec_out == 'R': printer() else: record_file()
Проблема в том, что при попытке записи в файл, возникает ошибка:
TypeError: must be str, not bytes
Сам не могу разобраться, как исправить. Может кто знает, как решить задачу?
P. S.
В программе есть еще пара ошибок, а именно даже если введен неверный адрес, будут запрашиваться дальнейшие действия, но с этим я уж как-нибудь сам разберусь…

Всем спасибо за Ващи советы
Открыть HTML в Python SDK
Используйте REST API для программного открытия и чтения HTML файлов на Python.
Легко открывайте HTML документы всего несколькими строками Python кода. Наша Python библиотека предоставит вам все необходимое для программного доступа к содержимому HTML документа.
Посмотреть фрагмент кода
Открыть HTML файл на Python
Задача чтения HTML документов — это задача чтения иерархических структур данных в модели DOM. Это подразумевает знание формата каждого отдельного элемента HTML данных, включая все его возможные дочерние элементы и атрибуты.
Наша Python библиотека — это облачное решение, которое позволит вам легко открывать HTML файлы для чтения и записи. Такой распределенный подход дает гибкость при разработке ПО с использованием языка Python, поскольку вся ресурсоемкая обработка HTML документов будет выполняться на серверах Aspose. Все, что вам нужно, это получить закрытые ключи для доступа к Cloud API в коде Python.
Прочитать HTML документ на Python
Вы можете выполнить итерацию по всем элементам HTML документа или выполнить поиск определенных элементов в дереве DOM. Мы предоставляем широкий набор функций Python как для работы со структурой HTML файла, так и с данными, содержащимися в узлах документа.
Следующий пример кода поможет вам быстро разобраться, как загрузить HTML файл с помощью Python и выполнить над ним некоторые действия.
Открыть HTML файл, используя Python
Справочник по API
Попробуйте наш Cloud API в своем программном обеспечении Python уже сегодня!
API предоставляет вам надежные функции промышленного уровня и полную интеграцию с кодом Python.