ВАЖНАЯ ИНФОРМАЦИЯ Поржал с двуx юныx бизнесменов, которые просят целыx 3 рубля за 1 строку!! Сейчас научу вас не быть мамонтами и получить ВCЕX владельцев - бесплатно 1. Заxодим в бота. https://t.me/GiftExplorerMirror1bot 2. Жмем "Поиск подарков", затем "Название коллекции" 3. Вводим название подарка. 4. Жмем начать поиск 5. Ждем 6. Скачиваем список владельцев 7. Радуемся! Я сэкономил вам 60 тысяч рублей, именно столько вы бы отдали тем самым бизнесменов за этот парсинг Если xотите вкинуть денег - то лучше мне, а не на всякую xуйню Дополнительно Еще бесплатный скрипт, который уберет весь мусор со строк по типу маркетов и блокчейна и оставит только ссылки на тг владельцев # -*- coding: utf-8 -*- from bs4 import BeautifulSoup # --- НАСТРОЙКИ --- # Имя вашего исходного файла input_filename = 'input.html' # Имя файла, куда будет сохранен результат output_filename = 'cleaned_report.html' # Слова, наличие которых в тексте тега <p> ведет к его удалению. # Будут искаться без учета регистра. unwanted_words = ['portal', 'onchain', 'gift', 'relayer'] # Обязательная подстрока во второй ссылке для сохранения тега <p>. required_href_part = 't.me' # --- КОНЕЦ НАСТРОЕК --- try: # Открываем и читаем исходный HTML-файл with open(input_filename, 'r', encoding='utf-8') as infile: # Создаем "суп" - объект BeautifulSoup для анализа soup = BeautifulSoup(infile, 'lxml') # Находим абсолютно все теги <p> в документе all_paragraphs = soup.find_all('p') p_tags_removed = 0 p_tags_total = len(all_paragraphs) # Перебираем каждый найденный тег <p> for p_tag in all_paragraphs: # --- Начинаем проверку на соответствие вашим правилам --- # Находим все ссылки (теги <a>) внутри текущего тега <p> links = p_tag.find_all('a') # Получаем весь видимый текст из тега <p> и приводим к нижнему регистру p_text_lower = p_tag.get_text().lower() # Флаг, который определит, нужно ли удалять тег should_remove = False # ПРОВЕРКА 1: Содержит ли текст нежелательные слова? if any(word in p_text_lower for word in unwanted_words): should_remove = True # ПРОВЕРКА 2: Если тег еще не помечен на удаление, проверяем вторую ссылку if not should_remove: # Убеждаемся, что в теге есть как минимум две ссылки if len(links) >= 2: # Получаем атрибут 'href' второй ссылки. Если его нет, вернется пустая строка. second_link_href = links[1].get('href', '') # Если в ссылке нет обязательной части ('t.me'), помечаем на удаление if required_href_part not in second_link_href: should_remove = True else: # Если в теге <p> нет двух ссылок, он не соответствует формату, удаляем should_remove = True # Если по итогам проверок тег помечен на удаление, убираем его из "супа" if should_remove: p_tag.decompose() # .decompose() полностью удаляет тег из документа p_tags_removed += 1 # Сохраняем очищенный HTML в новый файл with open(output_filename, 'w', encoding='utf-8') as outfile: # soup.prettify() делает итоговый HTML красивым и читаемым outfile.write(str(soup.prettify())) print(" Готово! Файл успешно обработан и очищен.") print(f" Результат сохранен в файл: {output_filename}") print("-------------------------------------------------") print(f"Всего найдено тегов <p>: {p_tags_total}") print(f"Удалено тегов <p>: {p_tags_removed}") print(f"Оставлено тегов <p>: {p_tags_total - p_tags_removed}") except FileNotFoundError: print(f" Ошибка: Файл '{input_filename}' не найден.") print(" Убедитесь, что файл находится в той же папке, что и скрипт, или укажите полный путь.") except ImportError: print(" Ошибка: Библиотеки 'BeautifulSoup' или 'lxml' не установлены.") print(" Пожалуйста, установите их командой: pip install beautifulsoup4 lxml") except Exception as e: print(f" Произошла непредвиденная ошибка: {e}") Python # -*- coding: utf-8 -*- from bs4 import BeautifulSoup # --- НАСТРОЙКИ --- # Имя вашего исходного файла input_filename = 'input.html' # Имя файла, куда будет сохранен результат output_filename = 'cleaned_report.html' # Слова, наличие которых в тексте тега <p> ведет к его удалению. # Будут искаться без учета регистра. unwanted_words = ['portal', 'onchain', 'gift', 'relayer'] # Обязательная подстрока во второй ссылке для сохранения тега <p>. required_href_part = 't.me' # --- КОНЕЦ НАСТРОЕК --- try: # Открываем и читаем исходный HTML-файл with open(input_filename, 'r', encoding='utf-8') as infile: # Создаем "суп" - объект BeautifulSoup для анализа soup = BeautifulSoup(infile, 'lxml') # Находим абсолютно все теги <p> в документе all_paragraphs = soup.find_all('p') p_tags_removed = 0 p_tags_total = len(all_paragraphs) # Перебираем каждый найденный тег <p> for p_tag in all_paragraphs: # --- Начинаем проверку на соответствие вашим правилам --- # Находим все ссылки (теги <a>) внутри текущего тега <p> links = p_tag.find_all('a') # Получаем весь видимый текст из тега <p> и приводим к нижнему регистру p_text_lower = p_tag.get_text().lower() # Флаг, который определит, нужно ли удалять тег should_remove = False # ПРОВЕРКА 1: Содержит ли текст нежелательные слова? if any(word in p_text_lower for word in unwanted_words): should_remove = True # ПРОВЕРКА 2: Если тег еще не помечен на удаление, проверяем вторую ссылку if not should_remove: # Убеждаемся, что в теге есть как минимум две ссылки if len(links) >= 2: # Получаем атрибут 'href' второй ссылки. Если его нет, вернется пустая строка. second_link_href = links[1].get('href', '') # Если в ссылке нет обязательной части ('t.me'), помечаем на удаление if required_href_part not in second_link_href: should_remove = True else: # Если в теге <p> нет двух ссылок, он не соответствует формату, удаляем should_remove = True # Если по итогам проверок тег помечен на удаление, убираем его из "супа" if should_remove: p_tag.decompose() # .decompose() полностью удаляет тег из документа p_tags_removed += 1 # Сохраняем очищенный HTML в новый файл with open(output_filename, 'w', encoding='utf-8') as outfile: # soup.prettify() делает итоговый HTML красивым и читаемым outfile.write(str(soup.prettify())) print(" Готово! Файл успешно обработан и очищен.") print(f" Результат сохранен в файл: {output_filename}") print("-------------------------------------------------") print(f"Всего найдено тегов <p>: {p_tags_total}") print(f"Удалено тегов <p>: {p_tags_removed}") print(f"Оставлено тегов <p>: {p_tags_total - p_tags_removed}") except FileNotFoundError: print(f" Ошибка: Файл '{input_filename}' не найден.") print(" Убедитесь, что файл находится в той же папке, что и скрипт, или укажите полный путь.") except ImportError: print(" Ошибка: Библиотеки 'BeautifulSoup' или 'lxml' не установлены.") print(" Пожалуйста, установите их командой: pip install beautifulsoup4 lxml") except Exception as e: print(f" Произошла непредвиденная ошибка: {e}") Пример итогового результата: