Парсер 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 успешно сохранен в текущей директории")
390
Рейтинг:
Парсер HTML страниц на Python
Похожие публикации
Партнёрские программы
Смотреть все1WIN ПАРТНЕРКА
1 403
Партнерские программы / Гемблинг партнерки
BroPush - партнёрская программа для монетизации и заработке на сайтах
1 310
Партнерские программы / PUSH партнерки
Партнерская программа Семяныча - Лучшая партнерка по CPA и CPC моделям
931
Партнерские программы / Способы заработка
Обзор Partners House для монетизации сайтов и лендингов + отзывы вебмастеров
795
Арбитраж трафика / Партнерские программы / PUSH партнерки
Магазин
Смотреть всеКупить
Бот для продажи VPN 3X-UI для Telegram
Telegram-бот для продажи VPN! Автоматизированный бот для продажи вашего...
Купить
Мониторинг хайп проектов на движке DLE
В данном скрипте есть возможность включить функцию чтобы пользователи сами...
Купить
Скрипт казино с 5 классическими играми.
Разработчики онлайн-казино, хотим поделиться отличной новостью: в январе мы...
Купить
Customer WishList / Избранные товары покупателей
Данный модуль позволяет просматривать избранные товары пользователей. Есть...
Купить
Меняем заголовок и favicon
Меняет favicon и title, при переходе пользователя на другую вкладку в браузере....






