Разместить объявление
хостинг
VIPAdmin / Разработка / Парсер HTML страниц на Python

Парсер HTML страниц на Python



Данный код производит парсинг HTML страницы, полученной по заданному URL-адресу с помощью библиотеки requests и BeautifulSoup. Затем пользователю предлагается выбрать папку для сохранения файла с помощью функции print_subfolders, которая выводит список подпапок в заданной директории. Если пользователь выбирает 0, файл сохраняется в текущей директории, иначе создается новая папка с выбранным именем или перезаписывается существующая. Затем пользователю предлагается ввести название файла для сохранения. В конце, результат сохраняется в виде HTML-файла.

import requests
from bs4 import BeautifulSoup
import urllib.parse
import os
def print_subfolders(folder_path):
 subfolders = [f.path for f in os.scandir(folder_path) if f.is_dir()]
 for i, subfolder in enumerate(subfolders):
 print(f"{i+1}. {subfolder}")
url = input("Введите URL страницы для парсинга: ")
if not urllib.parse.urlparse(url).scheme:
 url = "https://" + url
try:
 response = requests.get(url)
 response.raise_for_status()
except requests.exceptions.HTTPError as http_err:
 print(f'HTTP error occurred: {http_err}')
except Exception as err:
 print(f'Other error occurred: {err}')
else:
 soup = BeautifulSoup(response.content, 'html.parser')
 headings = soup.find_all('h1')
 for i, heading in enumerate(headings):
 print(f"{i+1}. {heading.text}")
 folders = [f for f in os.listdir('.') if os.path.isdir(f)]
 for i, folder in enumerate(folders):
 print(f"{i+1}. {folder}")
 folder_num = input("\n0. сохранить в текущую директорию\nВведите номер папки для сохранения: ")
 if folder_num == "0":
 folder_path = "."
 folder_name = ""
 else:
 folder_path = os.path.join(os.getcwd(), folders[int(folder_num)-1])
 print_subfolders(folder_path)
 folder_name = folders[int(folder_num)-1]
 file_name = input("Введите название файла для сохранения: ")
 if folder_name:
 os.makedirs(folder_name, exist_ok=True)
 with open(os.path.join(folder_path, f"{file_name}.html"), "w") as f:
 f.write(response.text)
 if folder_name:
 print(f"Файл {file_name}.html успешно сохранен в папке {folder_name}")
 else:
 print(f"Файл {file_name}.html успешно сохранен в текущей директории")

Парсер HTML страниц на Python

7-03-2024, 22:00 .zip

Скачать

Еще немного интересного

Способы заработка / Статьи Сайты с бесплатной накруткой TikTok | YouTube
Криптовалюта / Статьи Второй username в тг | Работа с fragment
Способы заработка / Статьи ЗАРАБОТОК НА YouTube
Криптовалюта / Статьи Как избежать бана на Binance
Раскрутка соц. сетей / Статьи Обучение по трафику с ТикТок. Июль 2021
Статьи / Другое Почему важен дизайн?
Статьи / Другое Запускаем AI стрим на Twitch
Статьи / Другое БЕСПЛАТНАЯ КАРТА «Zelf»
Статьи / Другое Поисковик файлов by DeCoded
Статьи / Безопасность [SIM]Спамблок без заморочек.
Способы заработка / Статьи / Арбитраж трафика Заработок на арбитраже трафика 💎💸
Сервисы / Парсинг A-PARSER - парсер сайтов № 1
Сервисы / Сервера и хостинги Хостинг PrivateAlps (Игнорирует DMCA)
Сервисы / Платёжные системы Merchant001- надежный эквайринг для сайта
Статьи Дорвеи 2023-2024
Арбитраж трафика / Статьи Арбитраж трафика на пуш уведомлениях
Статьи / Софт / Антидетект Браузеры ТОП ЛУЧШИХ АНТИДЕТЕКТ БРАУЗЕРОВ 2023
Сервисы / Трекеры / Клоака Keitaro PRO - трекер для арбитража трафика
Хостинг / Скрипты сайтов / Статьи Как настроить работу почты
Хостинг / Скрипты сайтов / Статьи Урок доступ mysql с любого ip
Хостинг / Скрипты сайтов / Статьи Как сделать моментальную установку сервера? HOSTINPL
Хостинг / Статьи Exim (Восстановление по e-mail)
Скрипты сайтов / Статьи JavaScript - Меняем CSS

Отзывы (0)